您好,我在此网站上找到了如何删除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();
        }
    }

最佳答案

你可以试试这个...

Global.answers.RemoveAt(i);

10-06 01:39