最近实现一个功能,需要在后台代码中动态向容器中添加控件,遇到如下问题,下面对场景举例:
DataTable dt = new DataTable();
DataColumn dc1 = new DataColumn(“key”);
DataColumn dc2 = new DataColumn(“value”);
dt.Columns.Add(dc1);
dt.Columns.Add(dc2);
DataRow dr = dt.NewRow();
dr[0] = “11″;
dr[1] = “aa”;
dt.Rows.Add(dr);
dr = dt.NewRow();
dr[0] = “22″;
dr[1] = “bb”;
dt.Rows.Add(dr);
ComboBox cob = new ComboBox();
//this.Controls.Add(cob);//当在此处添加控件时,后面的SelectedIndex=-1可以选中空值。
cob.DataSource = dt;
cob.DisplayMember = “value”;
cob.ValueMember = “key”;
cob.SelectedIndex = -1;
this.Controls.Add(cob);//当在此处添加控件时,后面的SelectedIndex=-1无效,combobox仍然会选中第一项,具体原因还不太明白,希望高人指点迷津。