private IList<string> datalist;
1行 this.listBox1.ValueMember = "id";//
2行 this.listBox1.DisplayMember = "name";//
3行 this.listBox1.DataSource = this.datalist; // 绑定数据源
4行 this.datalist.Add("newname");// 执行这行之后,this.listbox1的内容不会自己更新
5行 需要先解绑定 this.listBox1.DataSource=null;
6行 然后再绑定 this.listBox1.DataSource=this.datalist
这时会发现this.listBox1界面上的数据都变成类名了.这是为什么呢.因为忘了执行1行和2行的两句话
个人理解是,当执行 this.listBox1.DataSource=null之后,其相关信息都没有了.所在要再一次设定
1行 this.listBox1.ValueMember = "id";//
2行 this.listBox1.DisplayMember = "name";//
之后再执行5行 6行那两句话.
就没问题了.