我的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。
答案 0 :(得分: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");
}
}
还要考虑向用户提供有关选择内容的一些提示。对于你所说的一切&#34;检查至少一个项目&#34;,用户如何知道他错过了哪一个?