【问题标题】:Validate multiple checked listboxes for at least 1 checked item验证至少 1 个选中项的多个选中列表框
【发布时间】:2014-08-03 15:13:09
【问题描述】:
我的 Windows 窗体上有 18 个选中的列表框,我想确保至少有一项被用户选中。
if (checkedListBox1.CheckedIndices.Count < 0)
{
Messagebox.Show("check atleast one item");
}
........
if (checkedListBox18.CheckedIndices.Count < 0)
{
Messagebox.Show("check atleast one item");
}
我想知道最简单的方法是什么,而不是为所有 18 个选中的列表框编写多个 if。
【问题讨论】:
标签:
c#
.net
winforms
visual-studio-2010
【解决方案1】:
如果您只想显示一次消息框,请尝试以下操作:
CheckedListBox[] controls = new[]{control1, control2,...};
if (controls.Any(x=> x.CheckedIndices.Count <= 0))
{
Messagebox.Show("check atleast one item");
}
否则尝试以下方法(虽然这对我没有意义)
foreach(var control in controls)
{
if(control.CheckedIndices.Count <= 0)
{
Messagebox.Show("check atleast one item");
}
}
还可以考虑向用户提供一些关于选择什么的提示。对于您所说的“至少检查一项”,用户如何知道他错过了哪一项?