日期:2014-05-17  浏览次数:21097 次

C# ComboBox DataSource刷新.

public static List<string> list = new List<string>
{
    "你好啊", "你也好啊"
};

private void Form1_Load(object sender, EventArgs e)
{
    comboBox1.DataSource = list;

    list.Add("+++");
    list.Add("+++");
    list.Add("+++");

    // comboBox1.DataSource = null;    
    // comboBox1.DataSource = list;
}

list是comboBox1下拉表的内容.

如代码, 我在DataSource赋值之后, 又在list里追加了3项数据.
不过呢, comboBox1只认得第一次绑定时的2项, 后面追加的3项么有反应..

注释掉的2句可以完成刷新.
不过我想问一下有没有其他"正规的方式" 来通知comboBox1 "它的数据源被修改了".
谢谢大家 ^_^
C# ComboBox

------解决方案--------------------
       
 public static List<string> list = new List<string>
        {
            "你好啊", "你也好啊"
        };

        private void Form1_Load(object sender, EventArgs e)
        {
            BindingSource bs = new BindingSource();
            bs.DataSource = list;
            comboBox1.DataSource = bs;

            list.Add("+++");
            list.Add("+++");
            list.Add("+++");
            bs.ResetBindings(false);
        }