【问题标题】: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");
        }
    }
    

    还可以考虑向用户提供一些关于选择什么的提示。对于您所说的“至少检查一项”,用户如何知道他错过了哪一项?

    【讨论】:

      猜你喜欢
      • 2017-07-27
      • 1970-01-01
      • 2013-04-25
      • 2017-05-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-13
      • 2015-11-06
      相关资源
      最近更新 更多