如何在C#的列表框中插入一个复选框?

时间:2011-02-04 09:15:52

标签: c# winforms listbox checkbox

我想要一个代码在c sharp中的列表框中插入一个复选框。 选择复选框时,必须选中列表框中的所有项目。

2 个答案:

答案 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,以便您(取消)选择复选框值的所有元素。