Проверьте, пусто ли значение combobox

Я создал ComboBox с тремя значениями. Я хотел, чтобы окно сообщения открывается, когда элемент не выбран, поэтому я попробовал это:

if (comboBox1.SelectedItem == null)
{
    MessageBox.Show("Please select a value");
    return;
}

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

5 ответов


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


использовать

if (comboBox1.SelectedIndex == -1)
{
   MessageBox.Show("Please select a value");
   return;           
}

Примечание: SelectedIndex будет установлен в -1, когда SelectedValue пуст, только если FormattingEnabled имеет значение true. См.здесь.


код должен работать. Хотя я также установлю SelectedIndex......

if (this.comboBox1.SelectedItem == null || this.comboBox1.SelectedIndex == -1)

вы имеете в виду "когда я не касаюсь его, программа запустится без окна сообщения. Что случилось?"есть ли какой-либо код, связанный с"touch it"


Я думаю, это :

 if(comboBox.SelectedItems==null) //or if(comboBox.SelectedItems==-1)
     {
       //show  no item was selected from comboBox 
      }

или

if(comboBox.SelectedItems.Count==0)
{
//message no items selected 
}

Проверьте выбранное значение индекса выпадающего списка равно -1

if (Comboboxid.SelectedIndex == -1){
    MessageBox.Show("Your message.");
}