Winform ComboBox 绑定数据源 触发SelectedIndexChanged事件 处理办法
Posted superfeeling
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Winform ComboBox 绑定数据源 触发SelectedIndexChanged事件 处理办法相关的知识,希望对你有一定的参考价值。
最近寫Winform程式,發現Winform中的ComboBox和Web中的Dropdown相差很大,在ComboBox 绑定数据源 會触发SelectedIndexChanged事件,很困擾,查找了資料,處理方法大體分為三種
1.添加一个标记位,在绑定前设置为false,绑定完成后设置回true(個人覺得用起來的很奇怪)
void BindComboBox() { flag=false; ComboxBox1.ValueMember="ValueColumn"; ComboxBox1.DisplayMember="DisplayColumn"; ComboxBox1.DataSource=DataTable1; flag=true; } privatevoid ComboxBox1_SelectedIndexChanged(object sender, EventArgs e) { if(flag) { //Do something } }
2.绑定前,将SelectedIndexChanged的委托去掉,等绑定完成后,再添加事件委托(覺得比較複雜)
void BindComboBox() { //去除委托 ComboBox1.SelectedIndexChanged -= new EventHandler(ComboBox1_SelectedIndexChanged); ComboBox1.DataSource = null; ComboBox1.ValueMember = "ValueColumn"; ComboBox1.DataSource = DataTable1; //添加委托 ComboBox1.SelectedIndexChanged += new EventHandler(ComboBox1_SelectedIndexChanged); ComboBox1.DisplayMember = "DisplayColumn"; }
3.判斷是否是選擇狀態(最後本人用的)
privatevoid ComboxBox1_SelectedIndexChanged(object sender, EventArgs e) { if(ComboxBox1.ContainsFocus) { //Do something } }
以上是关于Winform ComboBox 绑定数据源 触发SelectedIndexChanged事件 处理办法的主要内容,如果未能解决你的问题,请参考以下文章
c#winform中一个combobox的datasource绑定给另一个combobox