选中的列表框已检查项目验证

时间:2014-05-21 20:43:24

标签: c# winforms

我有一个Checkedlistbox,它包含以下信息:

*************
*__All Cells*
*__Cell A   *
*__Cell B   *
*__Cell C   *
*__Cell D   *
*************

我想检查我想要的每个字段,但是我想如果我检查“所有单元格”复选框,所有字段都必须自动检查,我已经可以这样做了。当我取消选中“所有单元格”复选框时,如果我需要帮助,则需要帮助的部分应该取消选中所有单元格。

这是我使用的代码。请帮帮我。

private void Cells_CheckedListBox_SelectedIndexChanged(object sender, EventArgs e)
{       
    if (Cells_CheckedListBox.GetItemChecked(Cells_CheckedListBox.Items.IndexOf("All Cells")))
    {
        for (int i = 0; i < Cells_CheckedListBox.Items.Count; i++)
        {
            Cells_CheckedListBox.SetItemCheckState(i, CheckState.Checked);
        }
    } 
}

1 个答案:

答案 0 :(得分:2)

你似乎完全在错误的事件中这样做。您应该处理ItemCheck事件。

private void Cells_CheckedListBox_ItemCheck(object sender, ItemCheckEventArgs e)
{
    int allIndex = Cells_CheckedListBox.Items.IndexOf("All Cells");
    if (e.Index == allIndex)
    {
        for (int i = 0; i < Cells_CheckedListBox.Items.Count; i++)
        {
            if (i != allIndex)
                Cells_CheckedListBox.SetItemCheckState(i, e.NewValue);
        }
    }
}