我想要一个代码在c sharp中的列表框中插入一个复选框。 选择复选框时,必须选中列表框中的所有项目。
答案 0 :(得分:5)
您可以使用CheckListBox显示一个列表,每个项目旁边都有一个复选框。
但要创建一个选中列表中所有内容的复选框,它必须在列表框之外(上方或下方或旁边)。然后你可以使用如下代码:
public void SelectAllCheckBox_CheckedChanged(object s, EventArgs e)
{
foreach (var item in ListBox1.Items)
{
item.Selected = SelectAllCheckBox.Checked;
}
}
没有控件在列表中有一个复选框:例如,这就是你的意思:
+----------------------------------------+
| [x] Select All |
| Item one |
| Item two |
| Item three |
| Item four |
| Item five |
+----------------------------------------+
相反,您必须使用两个控件:一个复选框和一个单独的列表框:
[x] Select All
+----------------------------------------+
| Item one |
| Item two |
| Item three |
| Item four |
| Item five |
+----------------------------------------+
答案 1 :(得分:2)
也许您可以扩展提到的CheckedListBox,并处理一些事件,以便只有第一个CheckBox可见(可能某种格式化事件对此有利)。
并且不要忘记使用onCheckedChangeEvent,以便您(取消)选择复选框值的所有元素。