【发布时间】:2010-12-02 23:07:43
【问题描述】:
我正在用 C# 编写 Windows Forms 应用程序并使用 CheckListBox 控件。
如何一键查看 CheckListBox 项?
【问题讨论】:
我正在用 C# 编写 Windows Forms 应用程序并使用 CheckListBox 控件。
如何一键查看 CheckListBox 项?
【问题讨论】:
【讨论】:
您也可以通过单击按钮或单击清单来检查所有内容
private void checkedListBox1_Click(object sender, EventArgs e)
{
for (int i = 0; i < checkedListBox1.Items.Count; i++)
checkedListBox1.SetItemChecked(i, true);
}
【讨论】:
我刚刚解决了一个问题,我通过设计器将 CheckOnClick 设置为 True,但 UI 仍然需要第二次单击才能检查项目。我发现无论出于何种原因,当我更改值时,设计器文件都没有更新。为了解决,我进入设计器文件并添加了一行
this.Product_Group_CheckedListBox.CheckOnClick = true;
在此之后,它按预期工作。不知道为什么设计师没有更新,但也许这种解决方法会对某人有所帮助。
【讨论】:
您还可以使用 CheckListBox 外部的复选框来选中/取消选中所有项目。在同一个表单上,在 CheckedListBox 附近添加一个复选框并将其命名为 CkCheckAll。为 CheckBox 添加 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;
}
【讨论】: