ComboBox.SelectedIndexChanging? - PullRequest
       12

ComboBox.SelectedIndexChanging?

1 голос
/ 05 апреля 2011

Как я могу обработать событие индекса, выбранного в выпадающем списке, до изменения индекса?Winforms не предоставляет какого-либо события ComboBox.SelectedIndexChanging!

Спасибо

Ответы [ 3 ]

3 голосов
/ 05 апреля 2011

Я добился этого с помощью ComboBox.DropDown

Нет, ты не сделал. Используйте стрелки вверх / вниз, чтобы вызвать событие, не используя раскрывающийся список.

Чтобы использовать для этого событие SelectedIndexChanged, вам понадобится машина времени, которая возвращается назад менее чем на микросекунду. Действительно непонятно, зачем вам это нужно, но вы, вероятно, можете получить его, выведя свой собственный класс из ComboBox. Как это:

using System;
using System.Windows.Forms;

class MyComboBox : ComboBox {
    protected override void OnSelectedIndexChanged(EventArgs e) {
        // Here
        //...
        base.OnSelectedIndexChanged(e);
    }
}

Вставьте код в точки. Вы можете, например, поднять там свое собственное событие.

1 голос
/ 05 апреля 2011

Я достиг этого, используя

ComboBox.DropDown;

Потому что моей целью было «сделать что-то» до того, как откроется поле со списком.

1 голос
/ 05 апреля 2011

В этом вопросе есть фрагмент кода, который создает подкласс из ComboBox и добавляет функциональность "IndexChanging"
Как я могу обработать изменение выбранного индекса ComboBox?

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