Скажем, у меня был ComboBox со следующими значениями:
Black
Red
Blue
И я выбрал Red
в данный момент. Если пользователь затем нажимает клавишу Backspace и нажимает клавишу Enter, я фиксирую событие KeyDown
ComboBox.
В этом случае я хочу удалить Красный из списка элементов в ComboBox.
Однако, поскольку к моменту вызова KeyDown
текст ComboBox пуст, значение SelectedIndex
равно -1.
В настоящее время у меня есть обходной путь, который выглядит следующим образом:
private void myComboBox_SelectedIndexChanged(object sender, EventArgs e)
{
currentMyComboBoxIndex = myComboBox.FindStringExact(myComboBox.Text);
}
Что работает ... но мне было просто интересно, есть ли лучший способ. Кажется, что этот путь может как-то сломаться, и кажется немного грязным. Нет ли способа получить текущий индекс ComboBox без необходимости отслеживать его с помощью переменной-члена и обновлять его при изменении индекса?
Спасибо.