2014-11-06 20 views
6

我创建了一个包含三个值的组合框。我想这是没有选择项目时会打开一个消息框,所以我想这一点:检查组合框的值是否为空

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

这工作正常,但只有当我点击进入该领域的组合框。当我不接触它时,程序将在没有消息框的情况下开始。怎么了?

+0

何种标准触发此代码的事件?它是在Form_Load还是? – HABJAN 2014-11-06 07:18:22

+0

不,我已经将它放在点击按钮的位置来运行程序 – uzi42tmp 2014-11-06 07:26:28

回答

11

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

1

我思,这是一个:

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

的代码应该工作。虽然我也将设置的SelectedIndex以及......

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

你的意思是“当我别碰它,程序将没有消息框。开始怎么啦?”有没有与相关的任何代码“摸”

+0

我的意思是我必须先点击进入Box的字段。 – uzi42tmp 2014-11-06 07:35:14

+0

你在哪里初始化组合框...? – liuzhidong 2014-11-06 07:38:20

2

使用

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

注:当的SelectedValue是空白的,只有当FormattingEnabled是真实的SelectedIndex将被设置为-1。见here

1

检查下拉列表中选择的指数值等于-1

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