我正在研究.NET Windows Forms应用程序。我有一个CheckedListBox控件的事件处理程序过程,如果取消选中它,它应该从列表中删除一个复选框。我得到了那部分工作,但问题是,当我这样做时,下一个应该被检查的checkBox会自动变为未选中状态。
我尝试'手动'删除CheckedListBox中的所有元素并再次添加它们,确保它们已被选中,但下一个复选框仍未选中。
这非常令人沮丧。
我的代码有问题或这是一个错误吗?
private void checkedListBox_ItemCheck(object sender, ItemCheckEventArgs e)
{
if (e.CurrentValue == CheckState.Checked)
{
checkedListBox.Items.RemoveAt(e.Index);
}
}
答案 0 :(得分:0)
我找到了解决问题的方法。这有点像黑客,但它确实有效。
我刚刚提供了一个MouseUp事件处理程序,并在其中循环通过checkedListBox的Items,设置未选中的项目进行检查。