C# проверка выбора значений в combobox
У меня имеется,возможно, слишком простой либо глупый вопрос, но я так и не решил его. Имеется форма с комбобоксами. Кнопка для создания шаблонов документов.
При заполнении первого комбобокса Property1 и нажатии на кнопку создания - происходит создание файла в CAD системе с шаблоном из выбранного значения.
А вот при выборе и первого и второго Property2 происходит сначала создание первого файла, а потом второго. Ибо срабатывает первое условие.
Код прикрепляю:
if (cb_property1.SelectedIndex == 2)
{
var part1 = AppDomain.CurrentDomain.BaseDirectory + "RES\\PROFILE.CATPart";
document_2 = documents1.NewFrom(part1) as MECMOD.PartDocument;
MessageBox.Show("Done!");
}
if (cb_property1.SelectedIndex == 2 && cb_property2.SelectedIndex == 4)
{
var path = AppDomain.CurrentDomain.BaseDirectory + "RES\\EX.CATPart";
document_3 = documents1.NewFrom(path) as MECMOD.PartDocument;
MessageBox.Show("Done!");
}
Как можно реализовать проверку? Чтобы не срабатывал первый цикл,если заполнены оба.
Ответы (1 шт):
Проверяйте сначала второе, более специфичное условие, а потом уже первое, причём в ветке else (или else if):
if (cb_property1.SelectedIndex == 2 && cb_property2.SelectedIndex == 4)
{
// логика при втором условии
}
else if (cb_property1.SelectedIndex == 2)
{
// логика при первом условии
}
Ну или, поскольку частично условия совпадают, то лучше так, но опять же сначала второе условие проверять:
if (cb_property1.SelectedIndex == 2)
{
if (cb_property2.SelectedIndex == 4)
{
// логика при втором условии
}
else
{
// логика при первом условии
}
}
