c# - 多个删除选中的列表框项目

标签 c# checkbox checkboxlist

您好,我在这个网站上找到了如何删除 checklistbox
中的多个复选框对象 How to delete multiple checked items from CheckedListBox?

但它对我不起作用。
在我确实在 Global.answer 类中保存了一些东西之前,我以前处理这个项目的合作伙伴。我试过像这样修改该脚本:

for (int i = checkedListBoxAnswers.Items.Count - 1; i >= 0; i--) {
    if (checkedListBoxAnswers.GetItemCheckState(i) == CheckState.Checked) 
    {
        Global.answers.RemoveAt(checkedListBoxAnswers.SelectedIndex);
    }
}

它可以正确删除一个复选框,但是当我检查两个或多个复选框时,它出错了...... 我想知道如何正确地做到这一点。

这是我的删除按钮

private void buttonDelete_Click(object sender, EventArgs e)
    {
        if (checkedListBoxAnswers.SelectedIndices.Count < 1)
        {
            MessageBox.Show(this, "Please select answer to be deleted");
        }
        else
        {
            for (int i = checkedListBoxAnswers.Items.Count - 1; i >= 0; i--)
            {
                if (checkedListBoxAnswers.GetItemCheckState(i) == CheckState.Checked)
                {
                    Global.answers.RemoveAt(checkedListBoxAnswers.SelectedIndex);
                }
            }
            updateCheckListBoxAnswers();
        }
    }

最佳答案

事实上这里是正确的代码:

 CheckedListBox.CheckedItemCollection checkedItemColl = checkedListBoxAnswers.CheckedItems;

            for (int i = checkedItemColl.Count; i > 0; i--)
            {
                int index = checkedItemColl[i - 1];
                checkedListBoxAnswers.Items.Remove(index);

            }

关于c# - 多个删除选中的列表框项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21177679/

相关文章:

javascript - javascript 中的动态复选框列表 - 不起作用

javascript - 如何使用 angularjs 基于复选框选中和取消选中来制作复选框列表?

javascript - Jquery Tracking 复选框从选中更改为未选中或已取消选中

javascript - 访问 DotNetNuke 模块中的 CheckBoxList 控件

java - java实现复选框列表的方法

Android 开发 - 使用 simple_list_item_multiple_choice 和 CHOICE_MODE_MULTIPLE 的 isChecked Checkbox

c# - 使用 EF4 如何跟踪记录作为 Skip().Take() 结果集的一部分的次数

c# - 在 Windows 7 中更改屏幕保护程序设置时应用程序卡住 - System.Threading.Timer 是罪魁祸首?

c# - List<T> 来自 List<T> 中的属性

c# - 如何在我的网页上只打印图像?