在文本框中显示人物类数据
本文关键字:人物类 数据 显示 文本 | 更新日期: 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();