![](/img/trans.png)
[英]CheckedListBox - How to programmatically ensure that one and only one item can be checked at any given time?
[英]CheckedListBox allowing only one item to be checked
在我的CheckedListBox
應用程序中,我想只允許檢查一個項目。
我已經設置了這些屬性
checkOnClick = true;
SelectionMode = One;
任何建議將不勝感激
取消選中ItemCheck事件中的所有其他項目,如下所示:
private void checkedListBox1_ItemCheck(object sender, ItemCheckEventArgs e) {
for (int ix = 0; ix < checkedListBox1.Items.Count; ++ix)
if (ix != e.Index) checkedListBox1.SetItemChecked(ix, false);
}
最好的方法是這樣的:
private void checkedListBox1_ItemCheck(object sender, ItemCheckEventArgs e)
{
if (e.NewValue == CheckState.Checked && checkedListBox1.CheckedItems.Count > 0)
{
checkedListBox1.ItemCheck -= checkedListBox1_ItemCheck;
checkedListBox1.SetItemChecked(checkedListBox1.CheckedIndices[0], false);
checkedListBox1.ItemCheck += checkedListBox1_ItemCheck;
}
}
沒有循環總是更好。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.