如何检查winforms中的组合框是否包含某些值?
有没有办法不迭代所有项目呢?
答案 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
}