菜鸟提问~~!!!ComboBox控件如何在绑定数据源时不触发SelectIndexChanged事件?
如题~!
注意:
C#环境下winform开发~
comboBox控件选择的是DropDownList类型
部分代码:
private void Frm_ruku_Load(object sender, System.EventArgs e)
{
//供货单位实体绑定,数据源是一个ArrayList,其中是从数据库中查找的数据封装成的YDBLL.Entity.Info类的对象
//这里触发一次
this.CbBghsh.DataSource = YDBLLruku.GetAllGongHuoShang();
//这里又触发一次
this.CbBghsh.DisplayMember = "MingCheng ";
this.CbBghsh.ValueMember = "BianMa ";
......
}
...............
private void CbBghsh_SelectedIndexChanged(object sender, System.EventArgs e)
{
ComboBox cb = (ComboBox) sender;
if( cb.SelectedIndex != -1 )
{
//这里,在窗体load时就会触发
MessageBox.show(cb.SelectedValue.ToString());
}
}
本来是想这个ComboBox改变时,另一个文本框的内容根据它的选项而改变,但这里在窗体Load时就会触发这个事件,这时,刚刚绑定数据源,从ComboBox.SelectedValue取出来的值显示在文本框中的是:
YDBLL.Entity.Info
但在窗体加载完毕之后,再选择ComboBox的项时,就能正常取出其中选择的值了~~~~
那么,如何让它在绑定数据源时不触发这个事件呢?或者有另外的思路???
------解决方案--------------------删除ComboBox的SelectedIndexChanged事件,在绑定之后手工注册CbBghsh_SelectedIndexChanged事件。