复选框复选项验证

本文关键字:验证 选项 复选框 | 更新日期: 2023-09-27 18:04:26

我有一个checklistbox,有以下信息:

*************
*__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);
        }
    } 
}

复选框复选项验证

您似乎在完全错误的事件中这样做。您应该处理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);
        }
    }
}