【发布时间】:2012-06-27 15:21:57
【问题描述】:
我正在开发一个 .NET Windows 窗体应用程序。我有一个 CheckedListBox 控件的事件处理程序,如果它未选中,它应该从列表中删除一个复选框。我让那部分工作了,但问题是下一个应该被选中的复选框在我这样做时会自动变为未选中。
我已尝试“手动”从 CheckedListBox 中删除所有元素并再次添加它们,确保它们已被选中,但下一个复选框仍未选中。
这很令人沮丧。
我的代码有问题还是这是一个错误?
private void checkedListBox_ItemCheck(object sender, ItemCheckEventArgs e)
{
if (e.CurrentValue == CheckState.Checked)
{
checkedListBox.Items.RemoveAt(e.Index);
}
}
【问题讨论】:
-
那么所有项目都开始检查了吗?
-
没有。这些项目代表选定的“过滤器”。对于每个过滤器,一个选中的复选框被添加到 checkedListBox 控件中。当用户想要删除过滤器时,他只需取消选中复选框,它就会从 checkedListBox 控件中消失。但正如我所提到的,下一个复选框未选中。试试看:)
标签: .net winforms checkbox checkedlistbox