组合框改回SelectedIndex C#

时间:2009-03-13 09:59:39

标签: c# combobox

在我的comboBox2_SelectedIndexChanged事件中,我做了一些处理,在某些情况下,我想将SelectedIndex更改回我更改之前的状态。我看到sender.selectedIndex是我使用的最后一个索引但是我无法访问该var。我怎么告诉组合框回到w / e呢?

2 个答案:

答案 0 :(得分:2)

请参阅下面的代码。如果案例满足您将所选索引设置为lastIndex,则在设置lastIndex时,您确保取消订阅选择事件,设置并重新订阅。通过将lastIndex设置为selectedIndex来跟踪lastIndex。

    int lastIndex=0;
    void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
    {            
        if (isItTheCase) 
        {
            comboBox2.SelectedIndexChanged -= new EventHandler(comboBox2_SelectedIndexChanged);
            comboBox2.SelectedIndex = lastIndex;
            comboBox2.SelectedIndexChanged += new EventHandler(comboBox2_SelectedIndexChanged);
        }
        lastIndex = comboBox2.SelectedIndex;
    }

答案 1 :(得分:0)

请检查您多次注册SelectedIndexChanged的任何地方。通常会在设计时在Initilizecomponent()方法中注册事件,然后在构造函数中注册它。

由于