我有一个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);
}
}
}
答案 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);
}
}
}