子窗体上的 C# ComboBox 未更新

C# ComboBox on Child Form Not Updating

我在子窗体 (Form2) 上有一个组合框,它的数据源需要更改。当我在父级 (Form1) 上试用它时,我可以通过先将其清零来更新 CB:

var FilteredList = new List<Tag>();
FilteredList = ApplyFilter(OriginalList);

comboBox1.DataSource = null;
comboBox1.DataSource = FilteredList;

效果很好。但是,子窗体上的相同代码不起作用。数据就在那里。我可以在断点处浏览新项目,但表单上的 cb 是空的。我什至尝试刷新并调用 DoEvents():

comboBox1.DataSource = null;
comboBox1.DataSource = FilteredList;
this.Refresh();
Application.DoEvents();

我也试过调用更改,但要么不起作用,要么我没有正确执行。

comboBox1.Invoke((MethodInvoker)delegate { comboBox1.DataSource = FilteredList; });

这是标签 class:

public class Tag
{
    public string Name { get; set; }
    public string Desc { get; set; }
    public string Type { get; set; }
    public string Station { get; set; }

    public override string ToString()
    {
        return Name;
    }
}

对于遇到相同问题的其他人,在将 comboBox1.DataSource 设置为新的对象列表时,您还需要更新 comboBox1.DisplayMember 设置。这是我的最终代码:

comboBox1.DataSource = null;
comboBox1.DataSource = FilteredList;
comboBox1.DisplayMember = "Name";