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

时间:2018-03-04 18:49:43

标签: c# combobox

我有一个Teacher和一个Controller类,其中包含Teacher个列表。

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

我有一个插入表单,我应该在其中输入新教师的数据并将其添加到组合框中。 Combobox位于另一种名称为Add_New_Group的表单中。如何添加我在插入表单中输入的新教师数据以及另一个Add_New_Group表单中的组合框。

在组合框中,它会显示教师的姓名和姓氏,但是当我添加新教师并保存它时,在组合框中显示我(收藏集)而不是姓名。我的错是什么?

public partial class Add_New_Group : Form // in Add_New_Group form
{
    public Add_New_Group()
    {
        InitializeComponent();
        comboBox1.Items.Add(Controller.teachers);
    }
}

public partial class Insert : Form // in Insert form
{
    private void button2_Click(object sender, EventArgs e)
    {
        Teacher x = new Teacher(textBox1.Text,textBox2.Text, int.Parse(textBox3.Text), textBox4.Text, n);
        Controller.teachers.Add(x);
   }
}

1 个答案:

答案 0 :(得分:0)

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

以下是一个例子:

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";
}