因为一直都是做的B/S架构的项目,对ComBoBox控件很不了解,今天在做一个小WinForm工具时,要用到下拉框,拖拉了一个ComBoBox控件后,却找不到像DropDownList控件一件的DataTextField与DataValueField属性,回想起以前在做小工具时,也同样找不到ComBoBox的Text与Value属性,最后只有用很不友好的方式在界面上同时显示Text与显示Value的方法来实现了。
今天决定要好好的解决该问题,在找遍ComBox所有属性后,终于定位到两个有点像的属性了,即DisplayMember属性与ValueMember属性,一测试,果然为我想要的属性,太高兴了。写在这里,做个记录,以免以后又忘了。
示例代码:
private void Form1_Load(object sender, EventArgs e)
{
DataTable dt = new DataTable();
dt.Columns.Add("A");
dt.Columns.Add("B");
dt.Rows.Add("a", "a1");
dt.Rows.Add("b", "b1");
comboBox1.DataSource = dt;
comboBox1.DisplayMember = "A"; //相当于DropDownList的DataTextField属性
comboBox1.ValueMember = "B"; //相当于DropDownList的DataValueField属性
}
在ComBoBox的选中事件中测试:
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
this.comboBox1.Text //取得的界面上显示的字段A的值
this.comboBox1.SelectedValue //取得的是隐藏的字段B的值
}
b