winform复选框全选和反选 RT该怎么写? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 checkedListBox1.SetItemChecked(int index, bool value); //全选/取消全选private void SelectedAllCheckBox(bool ischeck){ foreach(Control ctl in this.Controls) { if(ctl is CheckBox) { ((CheckBox)ctl).Checked = ischeck; } }}//反选private void SelectedCheckBox(){ foreach(Control ctl in this.Controls) { if(ctl is CheckBox) { ((CheckBox)ctl).Checked = !((CheckBox)ctl).Checked; } }} private void SelectedAllCheckBox(bool ischeck){ foreach(Control ctl in this.Controls) { CheckBox chk=ctl as CheckBox; if(chk!=null ) { chk.Checked = ischeck; } }} tabControl选项卡里的复选框怎么全选?用上面的只能在普通界面全选,放在选项卡里就没用了 用一个foreach来就可以 了。 问题在于怎么找到这些控件,对吧?很多种办法:第一种,递归遍历窗体上的控件 if (control is CheckBox),如果你是把所有的 checkbox 都放到一个 container 就方便了,不用递归,直接 foreach(Control control in container.Controls) 就行了第二种,在添加控件的时候保持一个结构保存所有checkbox 的 reference。第三种,继承 checkbox,在继承的类里面添加一个静态对象,并且实现静态对象中某一个事件的处理,这样你只要修改这个静态对象的值,所有的 checkbox 就都可以更改过来了。我电脑上没有 vs,我手写一下代码,自己调一下编译错误吧private class MyCheckBoxGroup { public delegate void CheckedAllHandler(); public delegate void UncheckedAllHandler(); public event CheckedAllHandler CheckedAll; public event UncheckedAllHandler UncheckedAll; public void MyCheckedAll() { if (CheckedAll != null) CheckedAll(); } public void MyUncheckedAll() { if (UncheckedAll != null) UncheckedAll(); } } private class MyCheckBox : CheckBox { private static MyCheckBoxGroup group = new MyCheckBoxGroup(); public MyCheckBox() { group.CheckedAll += new MyCheckBoxGroup.CheckedAllHandler(group_CheckedAll); } public void CheckAllCheckBox() { group.MyCheckedAll(); } private void group_CheckedAll() { this.Checked = true; } } 错了一点 public static void CheckAllCheckBox() { group.MyCheckedAll(); } 你笨啊,他们写的是遍历 窗体空间集合,你在选项卡里有复选框,你就遍历 选项卡里的控件啊把遍历的对象改一下就可以啦,//全选/取消全选private void SelectedAllCheckBox(bool ischeck){ foreach(Control ctl in TabPage.Controls) { if(ctl is CheckBox) { ((CheckBox)ctl).Checked = ischeck; } }}//反选private void SelectedCheckBox(){ foreach(Control ctl in TabPage.Controls) { if(ctl is CheckBox) { ((CheckBox)ctl).Checked = !((CheckBox)ctl).Checked; } }} //全选/取消全选private void SelectedAllCheckBox(bool ischeck){ foreach(Control ctl in this.Controls) { if(ctl is CheckBox) { ((CheckBox)ctl).Checked = ischeck; } }}//反选private void SelectedCheckBox(){ foreach(Control ctl in this.Controls) { if(ctl is CheckBox) { ((CheckBox)ctl).Checked = !((CheckBox)ctl).Checked; } }} 关于C#中的dataGridView控件 WPF 如何屏蔽Ctrl+Alt+Del以及如何屏蔽窗口键 winform中有图表控件吗? C# datagridview 问题 分层架构中事务的困扰,特来请教。 .NET上传出错。RunTime Error C#中如何处理VC的符串呢? 请问各位朋友什么是.def 文件,用.def 干什么? 求方便易用的免费SNMP控件 [求助]如何用C#编写访问SQL的程序 清除当前窗体使用的资源 求两个问题的解
//全选/取消全选
private void SelectedAllCheckBox(bool ischeck)
{
foreach(Control ctl in this.Controls)
{
if(ctl is CheckBox)
{
((CheckBox)ctl).Checked = ischeck;
}
}
}//反选
private void SelectedCheckBox()
{
foreach(Control ctl in this.Controls)
{
if(ctl is CheckBox)
{
((CheckBox)ctl).Checked = !((CheckBox)ctl).Checked;
}
}
}
{
foreach(Control ctl in this.Controls)
{
CheckBox chk=ctl as CheckBox;
if(chk!=null )
{
chk.Checked = ischeck;
}
}
}
第一种,递归遍历窗体上的控件 if (control is CheckBox),如果你是把所有的 checkbox 都放到一个 container 就方便了,不用递归,直接 foreach(Control control in container.Controls) 就行了
第二种,在添加控件的时候保持一个结构保存所有checkbox 的 reference。
第三种,继承 checkbox,在继承的类里面添加一个静态对象,并且实现静态对象中某一个事件的处理,这样你只要修改这个静态对象的值,所有的 checkbox 就都可以更改过来了。我电脑上没有 vs,我手写一下代码,自己调一下编译错误吧private class MyCheckBoxGroup
{
public delegate void CheckedAllHandler();
public delegate void UncheckedAllHandler(); public event CheckedAllHandler CheckedAll;
public event UncheckedAllHandler UncheckedAll; public void MyCheckedAll() { if (CheckedAll != null) CheckedAll(); }
public void MyUncheckedAll() { if (UncheckedAll != null) UncheckedAll(); }
} private class MyCheckBox : CheckBox
{
private static MyCheckBoxGroup group = new MyCheckBoxGroup(); public MyCheckBox() { group.CheckedAll += new MyCheckBoxGroup.CheckedAllHandler(group_CheckedAll); } public void CheckAllCheckBox() { group.MyCheckedAll(); } private void group_CheckedAll() { this.Checked = true; }
}
把遍历的对象改一下就可以啦,//全选/取消全选
private void SelectedAllCheckBox(bool ischeck)
{
foreach(Control ctl in TabPage.Controls)
{
if(ctl is CheckBox)
{
((CheckBox)ctl).Checked = ischeck;
}
}
}//反选
private void SelectedCheckBox()
{
foreach(Control ctl in TabPage.Controls)
{
if(ctl is CheckBox)
{
((CheckBox)ctl).Checked = !((CheckBox)ctl).Checked;
}
}
}
//全选/取消全选
private void SelectedAllCheckBox(bool ischeck)
{
foreach(Control ctl in this.Controls)
{
if(ctl is CheckBox)
{
((CheckBox)ctl).Checked = ischeck;
}
}
}//反选
private void SelectedCheckBox()
{
foreach(Control ctl in this.Controls)
{
if(ctl is CheckBox)
{
((CheckBox)ctl).Checked = !((CheckBox)ctl).Checked;
}
}
}