C#中comboBox控制他的SelectedIndexChanged事件何时触发问题???在线等待!!!!!
我的comboBox界面启动时,加载相关项,可是我不想这个时候它触发 SelectedIndexChanged事件,只想让它在我选择项改变的时候才触发啊。如何设置?
是不是有一个控制注销事件的方法?那我界面启动的时候禁止此事件,然后当我选择项改变的时候 再启动此事件?不知如何实现。请指教。。。。
------解决方案--------------------cmb.SelectedIndexChanged-=new EventHandler(cmb_SelectedIndexChanged);
cmb.SelectedIndexChanged+=new EventHandler(cmb_SelectedIndexChanged);
------解决方案--------------------初始化之后再手动添加事件就行了
举个例子
public Form1()
{
InitializeComponent();
...
comboBox1.SelectedIndex = 0;
comboBox1.SelectedIndexChanged += new EventHandler(comboBox1_SelectedIndexChanged);
}
------解决方案--------------------
+1
------解决方案--------------------其实不用那么麻烦的 你声明一个标志位bool类型的 在SelectedIndexChanged事件里判断如果为true在执行 否则直接return 在改变combox绑定源之后将这个标志位置true 这样就不会触发了 而且简单很多
------解决方案--------------------楼上方法都正确。
public Form1()
{
InitializeComponent();
comboBox1.Items.Add("1");
comboBox1.Items.Add("2");
comboBox1.Items.Add("3");
comboBox1.Items.Add("4");
comboBox1.Items.Add("5");
comboBox1.Items.Add("6");
comboBox1.SelectedIndexChanged -= new EventHandler(comboBox1_SelectedIndexChanged);
comboBox1.SelectedIndex = 0;
comboBox1.SelectedIndexChanged += new EventHandler(comboBox1_SelectedIndexChanged);
}