下拉框(ComboBox)数据绑定时触发了SelectedIndexChanged事件
左直拳
博客专家认证 2006-02-06 02:27:25 我发现,下拉框(ComboBox)数据绑定时会触发SelectedIndexChanged事件。
这就有点不好,按照一般的理解,只有在用鼠标选下拉框的选项时才会触发SelectedIndexChanged事件,现在在数据绑定,也就是初始化阶段就发生,并且有多少个选项就触发多少遍,烦不烦?要知道,我在SelectedIndexChanged事件的处理函数中刷新一个DataGrid的数据源,这样会造成多少资源无谓的浪费?
有什么法子可以避免?比如说,有没有一个属性表明当前下拉框是否正在绑定数据,有的话就可以在SelectedIndexChanged事件的处理函数中直接跳出来,不再往下执行?
找来找去都没有。
有谁知道吗?
我现在处理的方法是在数据绑定前将SelectedIndexChanged事件去掉,绑好后再附加:
selManager.SelectedIndexChanged -= new System.EventHandler(this.selManager_SelectedIndexChanged);
selManager.DataSource = dtManager;
selManager.ValueMember = "id";
selManager.DisplayMember = "name";
selManager.SelectedValue = 0;
selManager.SelectedIndexChanged += new System.EventHandler(this.selManager_SelectedIndexChanged);