日期:2014-05-17  浏览次数:21292 次

C#中comboBox控制他的SelectedIndexChanged事件何时触发问题???在线等待!!!!!
我的comboBox界面启动时,加载相关项,可是我不想这个时候它触发 SelectedIndexChanged事件,只想让它在我选择项改变的时候才触发啊。如何设置?

是不是有一个控制注销事件的方法?那我界面启动的时候禁止此事件,然后当我选择项改变的时候  再启动此事件?不知如何实现。请指教。。。。
ComboBox C#

------解决方案--------------------
cmb.SelectedIndexChanged-=new EventHandler(cmb_SelectedIndexChanged);

cmb.SelectedIndexChanged+=new EventHandler(cmb_SelectedIndexChanged);

------解决方案--------------------
初始化之后再手动添加事件就行了
举个例子
public Form1()
{
    InitializeComponent();
    ...
    comboBox1.SelectedIndex = 0;
    comboBox1.SelectedIndexChanged += new EventHandler(comboBox1_SelectedIndexChanged);
}
------解决方案--------------------
引用:
cmb.SelectedIndexChanged-=new EventHandler(cmb_SelectedIndexChanged);

cmb.SelectedIndexChanged+=new EventHandler(cmb_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);
        }