Проверьте, если поле со списком пусто C # - PullRequest
0 голосов
/ 26 марта 2019

Я пытаюсь проверить, является ли поле со списком пустым, используя C # в Форме заявки Windows. Ниже приведены два возможных способа:

  1. if (string.IsNullOrEmpty (comboBox1.Text))
  2. if (comboBox1.SelectedIndex == -1)

Чтобы гарантировать, что пользователь ТОЛЬКО выберет значение из выпадающего списка и НЕ напишет свой собственный ответ, что является лучшим подходом? Из моего исследования второй метод (if (comboBox1.SelectedIndex == -1)) удовлетворит мои потребности. Я прав?

Ответы [ 3 ]

1 голос
/ 26 марта 2019

Если вы беспокоитесь только о том, чтобы пользователи выбирали элемент из доступного списка, просто измените DropDownStyle вашего комбобокса на DropDownList

или если вы хотите разрешить им печатать, но затем убедитесь, что это так.находится в списке, вы можете сделать что-то вроде этого:

var txt = comboBox1.Text;

if(string.IsNullOrEmpty())
  return;

var test = comboBox1.Items?.OfType<string>().ToList().Any(x => x?.Trim() == txt?.Trim());

, так что если тест ложен, это означает, что то, что они выбрали / напечатали, не существует в списке доступных элементов

0 голосов
/ 26 марта 2019

Это то, что я пытаюсь, и это работает. Не стесняйтесь комментировать:

if (comboBox1.SelectedIndex > -1 )
0 голосов
/ 26 марта 2019

для выпадающего списка вы можете использовать этот код ниже, чтобы проверить, пустой он или нет

 if(comboBox1.Items.Count == 0 )
 {
    // your code
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...