C#如何在组合框中添加数据

C#如何在组合框中添加数据,c#,combobox,C#,Combobox,我有一个Teacher和一个Controller类,其中有一个Teachers的列表 static public List<Teacher> teachers = new List<Teacher>(); 您应该使用数据绑定。ComboBox有两个关键属性,DataSource和Displaymember。您需要将列表设置为DataSource,将Name属性设置为DisplayMember。此外,每次向列表中添加教师时,必须重新设置数据源以刷新项目,否则内容将不会更新

我有一个
Teacher
和一个
Controller
类,其中有一个
Teacher
s的列表

static public List<Teacher> teachers = new List<Teacher>();

您应该使用数据绑定。ComboBox有两个关键属性,
DataSource
Displaymember
。您需要将列表设置为
DataSource
,将
Name
属性设置为
DisplayMember
。此外,每次向列表中添加教师时,必须重新设置
数据源
以刷新项目,否则内容将不会更新

以下是一个例子:

static List<Teacher> teachers = new List<teachers>();

public void AddTeacher()
{
    Teacher x = new Teacher(textBox1.Text,textBox2.Text, int.Parse(textBox3.Text), textBox4.Text, n);
    comboBox1.DataSource = null;
    comboBox1.DataSource = teachers;
    comboBox1.DisplayMember = "Name";
}
静态列表教师=新列表();
公共教师()
{
教师x=新教师(textBox1.Text,textBox2.Text,int.Parse(textBox3.Text),textBox4.Text,n);
comboBox1.DataSource=null;
comboBox1.DataSource=教师;
comboBox1.DisplayMember=“Name”;
}

一次只能添加一项,并且必须是字符串,而不是教师。例如,如果您愿意,您可以循环并添加每个教师的姓名

foreach ( var teacher in Controller.teachers )
{
   var textToAdd = string.Format("{0} {1}", teacher.FirstName, teacher.LastName);
   comboBox1.Items.Add(textToAdd);
}

WPF?WinForms?您使用的是什么用户界面模型??
foreach ( var teacher in Controller.teachers )
{
   var textToAdd = string.Format("{0} {1}", teacher.FirstName, teacher.LastName);
   comboBox1.Items.Add(textToAdd);
}