我有一个checkedListBox
和一个selectAll checkBox
。
我想要的是,如果未选中checkedListBox中的任何元素,则selectAll checkBox
将被取消选中(如果已选中)。
我正在使用Winforms
并使用C#。
答案 0 :(得分:0)
您需要使用两个事件,CheckBox Checked已更改(用于检查所有项目)和CheckedListBox ItemChecked用于更新复选框:
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
if (!checkBox1.Checked) return;
for (int i = 1; i < checkedListBox1.Items.Count; i++)
checkedListBox1.SetItemChecked(i, checkBox1.Checked);
}
private void checkedListBox1_ItemCheck(object sender, ItemCheckEventArgs e)
{
for (int i = 1; i < checkedListBox1.Items.Count; i++)
{
if(checkedListBox1.GetItemCheckState(i).Equals(CheckState.Unchecked){
checkBox1.Checked=false;
return;
}
}
checkBox1.Checked=true;
}