检查用户输入是否在comboBox项目中

时间:2013-07-17 20:14:26

标签: c# winforms combobox validating

这是我检查用户是否在comboBox中输入空

的方法
if (string.IsNullOrEmpty(comboBox.Text))
{
MessageBox.Show("No Item is Selected"); 
}

如何检查用户输入是否在comboBox项目中?例如,comboBox项是a,b,c。当用户在comboBox中输入“d”然后他离开时,必须显示messageBox。

3 个答案:

答案 0 :(得分:3)

您可以尝试在ComboBox的Leave EventHandler中输入类似这样的内容,如George所述,检查项目是否包含在ComboBox的项目集合中。

private void comboBox1_Leave(object sender, EventArgs e)
{
    ComboBox cb = (ComboBox)sender;
    if (! cb.Items.Contains(cb.Text))
    {
        MessageBox.Show("No Item is Selected");
    }
}

答案 1 :(得分:2)

试试这个:

int resultIndex = -1;
resultIndex = comboBox.FindExactString("d");

if(resultIndex == -1)
{
    MessageBox.Show("No Item is Selected");
}

答案 2 :(得分:1)

在这种情况下,来自@Mark Hall的答案是正确的。但是如果你想限制用户不使用组合框中不在项集合中的项目,我建议你将DropDownStyle的属性改为DropDownList。

comboBox1.DropDownStyle = ComboBoxStyle.DropDownList;