检查组合框值是否为空
本文关键字:是否 检查组 组合 检查 | 更新日期: 2023-09-27 18:29:32
我创建了一个包含三个值的组合框。我想在没有选择项目时打开一个消息框,所以我尝试了这个:
if (comboBox1.SelectedItem == null)
{
MessageBox.Show("Please select a value");
return;
}
这很好,但前提是我点击组合框中的字段。当我不触摸它时,程序将在没有消息框的情况下启动。怎么了?
if (string.IsNullOrEmpty(comboBox1.Text))
或if (comboBox1.SelectedIndex == -1)
使用
if (comboBox1.SelectedIndex == -1)
{
MessageBox.Show("Please select a value");
return;
}
注意:当SelectedValue为空时,SelectedIndex将设置为-1,只有当FormattingEnabled为true时。请参见此处。
检查下拉列表的所选索引值是否等于-1
if (Comboboxid.SelectedIndex == -1){
MessageBox.Show("Your message.");
}
代码应该可以工作。虽然我也会设置SelectedIndex。。。。。。
if (this.comboBox1.SelectedItem == null || this.comboBox1.SelectedIndex == -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
}
组合框显示一个文本框和一个ListBox,使用户可以从列表中选择项目或输入一个新值。条件测试SelectedItem或SelectedIndex不会处理用户从键盘等其他输入设备输入新值的情况。使用字符串。IsNullOrEmpty(comboBox1.Text)用于处理所有输入/选择情况。
试试这是:
if ((comboBox.SelectedValue == null) || string.IsNullOrEmpty(comboBox.Text))
{
//message no items selected
}