CheckedListBox中的选择有限

时间:2014-08-14 10:26:27

标签: c# visual-studio-2012 checkboxlist checkedlistbox

我有一个CheckedBoxList,我想限制您可以选择的选项(选中),仅用于选择Box中10个项目中的2个。真的不是10,也可能是13等。

我已尝试使用此代码,但在这里我只能选择一个项目(我想选择多个项目但不是全部)。

    private void checkedListBox_ListOfCars_ItemCheck(object sender, ItemCheckEventArgs e)
    {
        if (e.NewValue == CheckState.Checked)
        {
            for (int ix = 0; ix < checkedListBox_ListOfCars.Items.Count; ++ix)
            {
                if (e.Index != ix) checkedListBox_ListOfCars.SetItemChecked(ix, false);
            }
        }
    }

1 个答案:

答案 0 :(得分:2)

您可以通过为表单添加变量(如

)来完成此操作
int checkedItemsLimit = 2; // As you wrote in your question. This number is just an example.

每次在ItemCheck事件中检查某些内容时,您都可以检查checkListBox_ListOfCars中已检查项目的数量是否等于checkedItemsLimit。如果存在,则取消选中上次检查。代码看起来像这样:

 private void checkedListBox_ListOfCars_ItemCheck(object sender, ItemCheckEventArgs e)
 {
     if (e.NewValue == CheckState.Checked)
     {
         if (checkedListBox_ListOfCars.CheckedItems.Count == checkedItemsLimit) 
         {
             e.NewValue = CheckState.Unchecked;
         }    
     }
 }