ComboBox不加载用户

private void LoadUsersToComboBox() { comboBox1.DataSource = null; comboBox1.DataSource = peopleRepo.FindAllPeople(); /*Returns IQueryable*/ comboBox1.DisplayMember = "Name"; comboBox1.ValueMember = "ID"; } private void button2_Click(object sender, EventArgs e) { CreateNewPerson(); LoadUsersToComboBox(); } private void CreateNewPerson() { if (textBox2.Text != String.Empty) { Person user = new Person() { Name = textBox2.Text }; peopleRepo.Add(user); peopleRepo.Save(); } } 

我希望combobox在每次保存后显示用户列表。 因此,有人创建了一个新用户,它应该在此之后显示在combobox中。 这不起作用,没有添加新用户,只有初始“加载”似乎有效。

Complex DataBinding接受IList或IListSource作为数据源。

 private void LoadUsersToComboBox() { // comboBox1.DataSource = null; // No need for this comboBox1.DataSource = peopleRepo.FindAllPeople().ToList(); /*Returns IQueryable*/ } 

每次刷新时不要重新分配DisplayMember和ValueMember,只需一次,

 public Form1() { InitializeComponent(); comboBox1.DisplayMember = "Name"; comboBox1.ValueMember = "ID"; LoadUsersToComboBox() } 

祝好运!