комбинированный список изменить назад SelectedIndex C # - PullRequest
1 голос
/ 13 марта 2009

В моем событии comboBox2_SelectedIndexChanged я выполняю некоторую обработку, и в некоторых случаях я хочу изменить SelectedIndex обратно на то, что было до того, как я его изменил. Я вижу, что sender.selectedIndex - последний индекс, который я использовал, однако я не могу получить доступ к этой переменной. Как я могу сказать, что со списком вернемся, чтобы вернуться к тому, что это было?

Ответы [ 2 ]

2 голосов
/ 13 марта 2009

См. Код ниже. Если регистр удовлетворяет, вы устанавливаете для выбранного индекса значение lastIndex, а при установке lastIndex вы должны отменить подписку на событие выбора, установить и повторно подписаться. Отслеживайте lastIndex каждый раз, устанавливая его в selectedIndex.

    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;
    }
0 голосов
/ 03 июня 2009

Пожалуйста, проверьте, где вы регистрируете SelectedIndexChanged более одного раза. Обычно случается, что вы регистрируете события во время разработки, что происходит в методе Initilizecomponent (), а затем регистрируете их в конструкторе.

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...