C# 如何通过单击选中复选框项目?

C# 如何通过单击选中复选框项目?,c#,winforms,checkbox,C#,Winforms,Checkbox,我正在用C#编写Windows窗体应用程序,并使用复选框控件 如何只需单击一下即可选中复选框项目?我想您正在寻找 属性 把它设为真 获取或设置一个值,该值指示 是否应选中该复选框 选择项目时切换 您也可以通过单击按钮或单击检查表来检查所有项目 private void checkedListBox1_Click(object sender, EventArgs e) { for (int i = 0; i < checkedListBox1.Items.Count; i++)

我正在用C#编写Windows
窗体
应用程序,并使用
复选框
控件


如何只需单击一下即可选中复选框项目?

我想您正在寻找

属性

把它设为真

获取或设置一个值,该值指示 是否应选中该复选框 选择项目时切换


您也可以通过单击按钮或单击检查表来检查所有项目

private void checkedListBox1_Click(object sender, EventArgs e)
{

    for (int i = 0; i < checkedListBox1.Items.Count; i++)
        checkedListBox1.SetItemChecked(i, true);

}
private void checkedListBox1\u单击(对象发送方,事件参数e)
{
对于(int i=0;i
在设计时以这种方式设置属性

或按代码:

CheckedListBox.CheckOnClick = true;

我刚刚解决了一个问题,我通过设计器将CheckOnClick设置为True,但是UI仍然需要第二次单击来检查项目。我发现无论出于什么原因,当我更改值时,设计器文件没有更新。为了解决这个问题,我进入设计器文件并添加了一行

this.Product_Group_CheckedListBox.CheckOnClick = true;

在这之后,它按预期工作。不确定设计器为什么没有更新,但此解决方法可能会对某些人有所帮助。

您也可以使用复选框外部的复选框来选中/取消选中所有项目。在同一表单上,在CheckedListBox附近添加一个复选框,并将其命名为CkCheckAll。为复选框添加Click事件(我更喜欢CheckChanged事件)。 CheckedListBox旁边还有一个按钮(BtnAdd),用于将所有选中项添加到数据库表中。仅当选中CheckedListBox中的至少一项时,才会启用该选项

    private void CkCheckAll_Click(object sender, EventArgs e)
    {
        CkCheckAll.Text = (CkCheckAll.Checked ? "Uncheck All" : "Check All");
        int num = Cklst_List.Items.Count;
        if (num > 0)
        { 
            for (int i = 0; i < num; i++)
            {
                Cklst_List.SetItemChecked(i, CkCheckAll.Checked);
            }
        }
        BtnAdd_Delete.Enabled = (Cklst_List.CheckedItems.Count > 0) ? true : false;
    }
private void CkCheckAll\u单击(对象发送方,事件参数e)
{
CkCheckAll.Text=(CkCheckAll.Checked?“全部取消选中”:“全部选中”);
int num=Cklst_List.Items.Count;
如果(数值>0)
{ 
for(int i=0;i0)?真:假;
}

您可以在checkedlistbox控件的“属性”窗口中找到它。如何使用foreach语句执行此操作?@Bryan尝试此操作,循环体使用循环中的count命令将对象强制转换为check list foreach(checkedListBox1.CheckedItems中的对象项)。正如命令名所述。计数使用时间在循环的每次迭代中对列表中的项进行计数。如果列表仅支持计数,请使用:int totalitems=checkedListBox1.count;然后在for循环中使用变量。