我想要一个按钮,一旦单击,它将选中我的复选框中的所有复选框。我已经搜索了可能的答案,但我总是看到 asp.net 和 javascript 的示例。我在 c# 中使用 Windows 窗体。感谢您的任何回复。
问问题
80769 次
6 回答
79
for (int i = 0; i < checkedListBox1.Items.Count; i++)
{
checkedListBox1.SetItemChecked(i, true);
}
于 2012-12-27T08:29:11.220 回答
6
在 C# 后面的代码中调用一个方法并编写这段代码,然后您就可以选中/取消选中它们。这将选中或取消选中复选框列表中存在的所有复选框。希望它可能会有所帮助。
foreach (ListItem item in CheckBoxList.Items)
{
item.Selected = true;
}
于 2015-12-17T10:26:13.893 回答
4
多次遇到这个问题后,我决定用扩展方法一劳永逸地为自己解决。
public static class Extensions
{
public static void CheckAll(this CheckedListBox checkedListBox, bool check)
{
for (int i = 0; i < checkedListBox.Items.Count; i++)
checkedListBox.SetItemChecked(i, check);
}
}
MyCheckedListBox.CheckAll(true);
于 2020-04-08T16:47:43.583 回答
2
试试这个...
protected void chk_CheckedChanged(object sender, EventArgs e)
{
CheckBox[] boxes = new CheckBox[7];
boxes[0] = this.CheckBoxID;
boxes[1] = this.CheckBoxID;
boxes[2] = this.CheckBoxID;
boxes[3] = this.CheckBoxID;
boxes[4] = this.CheckBoxID;
boxes[5] = this.CheckBoxID;
boxes[6] = this.CheckBoxID; //you can add checkboxes as you want
CheckBox chkBox = (CheckBox)sender;
string chkID = chkBox.ID;
bool allChecked = true;
if (chkBox.Checked == false)
allChecked = false;
foreach (CheckBox chkBoxes in boxes)
{
if (chkBox.Checked == true)
{
if (chkBoxes.Checked == false)
allChecked = false;
}
}
this.CheckBoxIDALL.Checked = allChecked; //Here place the main CheckBox
}
于 2014-06-03T21:50:32.747 回答
1
试试这个:
foreach(Control c in this.Controls) {
if (c.GetType() == typeof(CheckBox)) {
((CheckBox)c).Checked = true;
}
}
于 2012-12-27T08:33:57.893 回答
0
我所做的是将它放在 tableLayoutPanel 中,我修复了第三列中的所有复选框并添加了事件:
private void cbCheckAllCHECKBOXs_CheckedChanged(objects sender, EventArgs e)
{
if (cbCheeckAllCHECKBOXs.Checked)
{
for (int i = 0; i < tlpCHECKBOXsControlPanel.RowCount; i++)
{
((System.Windows.Forms.CheckBox)(tlpCHECKBOXsControlPanel.GetControlFromPosition(3, i))).Checked = true;
}
}
}
于 2020-02-20T14:22:28.423 回答