我在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);
}
}
但是有更好的方法吗?