В форме ввода у меня есть два выпадающих списка. Опция, выбранная в первой, определяет, какие опции будут заполнять вторую. Всегда будет опция «По умолчанию» в последнем индексе раскрывающегося списка, но количество элементов будет меняться, поэтому «По умолчанию» не всегда имеет постоянный индекс. Для других опций я могу просто использовать его индекс для других вещей, не зная, что это было, но если выбрано значение по умолчанию, мне нужно выполнить специальное действие.
Мое текущее решение немного громоздко, потому что я должен проверить индекс, который, как я знаю, будет использоваться по умолчанию для каждого случая.
switch( comboBoxOne.SelectedIndex )
{
case 0:
if( comboBoxTwo.SelectedIndex == 6 )
//special action
break;
case 1:
case 2:
if( comboBoxTwo.SelectedIndex== 4 )
//special action
break;
case 3:
case 4:
if( comboBoxTwo.SelectedIndex== 5 )
//special action
break;
}
Я не могу использовать comboBoxTwo.MaxDropDownHeight, потому что это всего лишь ограничение на количество предметов, которые вы потенциально можете иметь.
Примечание **
Я не могу установить «По умолчанию» на индекс 0, потому что это приводит к тому, что другие индексы ошибочны, поэтому мне придется больше работать, чтобы сопоставить их с правильным индексом. Кроме того, способ заполнения вторых опций сложен (на самом деле существует 50 различных случаев), поэтому к последнему индексу всегда добавляется значение по умолчанию. Как я могу получить последний действительный индекс элемента из comboBox?