如何验证是否至少选择了5个组合框中的2个c#
我的窗体上有5个组合框,我想通过检查用户是否从这5个组合框中选择了至少2个来验证窗体。我怎样才能写这个条件在C#代码?如何验证是否至少选择了5个组合框中的2个c#
我在谷歌和不同的网站上搜索了很多,但他们都讨论在单个组合框中选择多个值或者不是我的要求。
有人可以在这里扔光吗?感谢你的帮助。谢谢。
您可以使用条件表达式来计算所选组合框的数量。
该表达
int oneIfSelected = comboBox1.Selectedindex != -1 ? 1 : 0;
将1
如果comboBox1
具有被选择的项目;否则它将为零。
现在,您可以构建一个检查计数表达这样的:
int totalSelected = (comboBox1.Selectedindex != -1 ? 1 : 0)
+ (comboBox2.Selectedindex != -1 ? 1 : 0)
+ (comboBox3.Selectedindex != -1 ? 1 : 0)
+ (comboBox4.Selectedindex != -1 ? 1 : 0)
+ (comboBox5.Selectedindex != -1 ? 1 : 0);
如果至少有五分之二的组合框有一个值来选择,totalSelected
将至少为2。所以,你可以做这样的检查如下:
if(totalSelected >= 2)
{
//Your code here
}
@lucky请参阅编辑。 – dasblinkenlight
太棒了!这样可行。再次感谢:) – lucky
您可以订阅的方法对SelectedValueChanged
事件你有所有组合框和有更新有关的组合信息,是这样的:
Dictionary<ComboBox, int> combosInfo = new Dictionary<ComboBox, int>();
public void combo_SelectedValueChanged(object sender, EventArgs e) {
ComboBox c = sender as ComboBox;
if (c != null) {
combosInfo[c] = 1;
}
}
然后,在您要检查有多少人已经值选择,你可以这样做:
int count = combosInfo.Values.Sum();
请记住,包括声明using System.Linq
找到扩展方法Sum
。希望能帮助到你。
感谢您的回答,但上述答案似乎非常简单明了。 – lucky
你有没有试过的东西的代码? – dimwittedanimal
我无法专门开始编写这个条件..'至少有2出5' – lucky
是Windows还是ASP.NET,哪个框架? – Coding