防止对CheckedListBox进行多次检查 - 更好的方法?

时间:2018-06-07 14:06:24

标签: winforms checkedlistbox

我在Windows窗体中有这个CheckedListBox,我不想进行多次检查。我可以通过将SelectionMode设置为“One”来阻止多个选择,但是没有相应的CheckMode可以设置为1。如果我将CheckOnClick设置为“true”,当用户选择一个项目时,它会检查,但选择或检查另一个项目不会清除之前的检查。所以我最终可以检查所有盒子,只选择一个项目。我用这段代码解决了这个问题:

private void chkOtherNameType_SelectedIndexChanged(object sender, EventArgs e)
{
    if (chkOtherNameType.SelectedIndex > -1)
    {
        for (int x = 0; x < chkOtherNameType.Items.Count; x++)
        {
            chkOtherNameType.SetItemChecked(x, false);
        }
        chkOtherNameType.SetItemChecked(chkOtherNameType.SelectedIndex, true);
    }
}

但是有更好的方法吗?

0 个答案:

没有答案