当上一个复选框被删除时,如何防止CheckedListBox控件中的下一个复选框被取消选中?

时间:2012-06-27 15:21:57

标签: .net winforms checkbox checkedlistbox

我正在研究.NET Windows Forms应用程序。我有一个CheckedListBox控件的事件处理程序过程,如果取消选中它,它应该从列表中删除一个复选框。我得到了那部分工作,但问题是,当我这样做时,下一个应该被检查的checkBox会自动变为未选中状态。

我尝试'手动'删除CheckedListBox中的所有元素并再次添加它们,确保它们已被选中,但下一个复选框仍未选中。

这非常令人沮丧。

我的代码有问题或这是一个错误吗?

    private void checkedListBox_ItemCheck(object sender, ItemCheckEventArgs e)
    {
        if (e.CurrentValue == CheckState.Checked)
        {
            checkedListBox.Items.RemoveAt(e.Index);
        }
    }

1 个答案:

答案 0 :(得分:0)

我找到了解决问题的方法。这有点像黑客,但它确实有效。

我刚刚提供了一个MouseUp事件处理程序,并在其中循环通过checkedListBox的Items,设置未选中的项目进行检查。