检查组合框中的特定值

时间:2011-02-16 07:00:22

标签: c# winforms

如何检查winforms中的组合框是否包含某些值?

有没有办法不迭代所有项目呢?

5 个答案:

答案 0 :(得分:17)

if (comboBox1.Items.Contains("some value"))
{

}

如果项目是某些自定义对象而不是字符串,则可能需要覆盖Equals方法。

答案 1 :(得分:8)

int index = comboBox1.FindString("some value"); comboBox1.SelectedIndex = index;

http://msdn.microsoft.com/en-us/library/wxyt1t12.aspx#Y500

还有FindStringExact http://msdn.microsoft.com/en-us/library/c440x2eb.aspx

答案 2 :(得分:2)

其他答案对我不起作用。

这样做了:

if (comboBox1.Items.Cast<string>().Any(i => i == position))
{
    // Items contains value
}

希望这有帮助!

答案 3 :(得分:2)

要从组合框中找到确切的数据,我们必须使用FindStringExact

进行检查

int resultIndex = cbEmployee1.FindStringExact(item.Text);

答案 4 :(得分:1)

使用接受的答案对我不起作用,因为它总是返回false,即使列表检查显示存在的值。我使用的是FindStringExact方法,由Louis和Amit推荐。在这种情况下,它是在组合框文本框中输入的值。

var index = comboBox1.FindStringExact(comboBox1.Text)
if(index > -1)
{
    //Success followup code
}