我有一个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);
}
}
}
答案 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;
}
}
}