在文本框中显示人物类数据

本文关键字:人物类 数据 显示 文本 | 更新日期: 2023-09-27 18:16:42

]我需要用windows窗体用c#写一个小程序——我是c#和编程的新手,所以跟我一起吧。假设我有10个医生,我想显示每个医生的信息,比如CVR号、地址、电子邮件等等——许多不同的值(bool、int、string)。我创建了一个类叫做praksisOplysninger(医生信息)在我的按钮处理程序中添加了一个医生(laege1)。我如何显示数据,当用户输入yderNr -然后需要显示其余的信息-我为此制作了几个文本框。现在我得到了一个错误,称为许多递归-我需要停止我的循环内我的类医生-我已经尝试了几个小时-请帮助提前谢谢:)

引用

**这是我的医生班-我有laege1-10在我的班**在丹麦,laege相当于一名医生;)现在我得到一个递归错误…我怎样才能停止这个循环?按钮处理程序中的代码中没有错误。

`laegeInfo laege1 = new laegeInfo()
    {
        yderNr = 012345,
        navn = "Johannes Andersen",
        CVR = 4100,
        adresse = "Frederiksvej 15, Faxe",
        telefon = 32424323,
        email = "JAplo@.dgm",
        kommune = 4640,
        solo = true,
        flermands = false,
        besoeg = 20,
        FMKBesoeg = true,
        sidsteBesoeg = new DateTime(2016, 6, 3)
"{

引用

      var  userInput = int.Parse(txtPraksisoplysningerYderNr.Text);
        var laege = laeger.SingleOrDefault(d => d.Ydernr == userInput);
        if(laege != null)
        {
            txtLaegensNavn.Text = laege.Navn;
            txtCVR.Text = laege.Cvr.ToString();
            txtLaegensAdresse.Text = laege.Adresse;
            txtlaegenstlfNR.Text = laege.Telefon.ToString();
            txtLaegensEmail.Text = laege.Email;
            txtLaegensKommune.Text = laege.Kommune.ToString();
        }
        btnFindLaegeOplysning.Show();

在文本框中显示人物类数据

假设你有一些医生列表存储在某个地方(数据库,医生类本身的静态列表等),你可以使用LINQ检索一个特定的医生对象,其中它的yderNr属性等于用户输入的那个。例如:

public class Doctor
{
    public string Name { get; set; }
    public int PhoneNumber { get; set; }
    public int YderNr { get; set; }
}
public class Program
{
    public static void Main(string[] args)
    {
        var doctors = new List<Doctor>
        {
            new Doctor()
            {
                Name = "Jens Andersen",
                PhoneNumber = 12345567,
                YderNr = 02131
            }
        };
        var userInput = int.Parse(txtPraksisoplysningerYderNr.Text);
        var doctor = doctors.SingleOrDefault(d => d.YderNr == userInput);
        if (doctor != null)
        {
            // Set the textbox text with the doctor's data
        }
    }
}

有关LINQ的SingleOrDefault()方法的更多信息,请单击这里。

更新:

我不确定你的文本框名称是什么,但这里是你如何将文本框的文本设置为医生的数据在if语句从上面的代码片段:

if (doctor != null)
{
    // Set the textbox text with the doctor's data
    txtDoctorName.Text = doctor.Name;
    txtDoctorPhoneNumber.Text = doctor.PhoneNumber;
    txtDoctorYderNr.Text = doctor.YderNr;
}

这将工作,如果你有三个文本框控件的名称如下:txtDoctorName, txtDoctorPhoneNumber,和txtDoctorYderNr

           `laegeInfo laege9 = new laegeInfo()` 
        {
            yderNr = 09123,
            navn = "Mille Andersen",
            CVR = 05232,
            adresse = "Parkvej 90, Sorø",
            telefon = 22996124,
            email = "MAplo@.dgm",
            kommune = 4180,
        };
        laegeInfo laege10 = new laegeInfo()
        {
            yderNr = 10102,
            navn = "Bent Justesen",
            CVR = 00632,
            adresse = "Asgers park 76, Solrød",
            telefon = 99885034,
            email = "BJplo@.dgm",
            kommune = 2680,
        };
        List<laegeInfo> laegers = new List<laegeInfo>(10);
            laegers.Add(laege1);
            laegers.Add(laege2);
            laegers.Add(laege3);
            laegers.Add(laege4);
            laegers.Add(laege5);
            laegers.Add(laege6);
            laegers.Add(laege7);
            laegers.Add(laege8);
            laegers.Add(laege9);
            laegers.Add(laege10);
            var UserInput = int.Parse(txtPraksisoplysningerYderNr.Text);
            var laege = laegers.SingleOrDefault(L => L.yderNr == UserInput);
            if (laege != null)
                foreach (laegeInfo L in laegers)
            {
                txtLaegensNavn.Text = L.navn;
                txtCVR.Text = L.CVR.ToString();
                txtLaegensAdresse.Text = L.adresse;
                txtlaegenstlfNR.Text = L.telefon.ToString();
                txtLaegensEmail.Text = L.email;
                txtLaegensKommune.Text = L.kommune.ToString();