读书人

初学者提问~ComboBox控件怎么在绑定数

发布时间: 2012-02-22 19:36:56 作者: rapoo

菜鸟提问~~!!!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事件。

读书人网 >C#

热点推荐