ComboBox最经常使用的事件就是SelectedIndexChanged。但在将ComboBox绑定到某个数据源的过程中,会触发SelectedIndexChanged
事件,而这个时候用户并没有选择内容,其SelectedValue也不是对应字段的值。那么时写在SelectedIndexChanged中的处理代码就会因为SelectedValue的内容不正确引发异常。
一般网上找到的方法是添加一个标记位,在绑定前设置为false,绑定完成后设置回true。

 

void BindComboBox()
{
flag
=false;
ComboxBox1.ValueMember
="ValueColumn";
ComboxBox1.DisplayMember
="DisplayColumn";
ComboxBox1.DataSource
=DataTable1;
flag
=true;
}
private void ComboxBox1_SelectedIndexChanged(object sender, EventArgs e) { if(flag) { //Do something } }
复制代码

 

posted on 2012-06-20 10:24  swarb  阅读(253)  评论(0编辑  收藏  举报