C#WinForm开发系列之CheckBox控件全选和取消全选以及checkedListBox的基础使用介绍
2017-05-08 21:57
1736 查看
一.研究了一下C# CheckBox控件的全选和反选问题,这里研究了两种全选的方法:
1.首先,使用3个panel控件和8个checkBox控件实现了反选和全选的实现界面,panel11的Dock属性设为Top,panel12的Dock属性设为Left,panel13的Dock属性设为Fill,效果如图1所示:
图1
2.将全选按钮checkBox1的click事件中实现如下代码:
private void checkBox1_Click(object sender, EventArgs e)
{
//判断
if (checkBox1.CheckState == CheckState.Checked)
{
foreach (CheckBox ck in panel13.Controls)
ck.Checked = true;
}
else
{
foreach (CheckBox ck in panel13.Controls)
ck.Checked = false;
}
}
在Form1的构造方法中给所有子选项绑定ck_child_CheckedChanged方法,代码如下:
public Form1()
{
InitializeComponent();
foreach (CheckBox ck in panel13.Controls)
{
ck.CheckedChanged += ck_child_CheckedChanged;
}
}
最后在方法中实现如下代码:
private void ck_child_CheckedChanged(object sender, EventArgs e)
{
CheckBox c = sender as CheckBox;
if (c.Checked == true)
{
foreach (CheckBox ch in panel13.Controls)
{
if (ch.Checked == false)
return;
}
checkBox1.Checked = true;
}
else
{
checkBox1.Checked = false;
}
}
下图2,3展示全选和反选的实现效果:
图2
图3
二.checkedListBox基础使用
1.首先从工具箱中拖出一个checkedListBox控件和一个Label及一个button控件,checkedListBox控件可通过编辑项添加选择项,如图4所示:
图4
在checkedListBox控件如图5所示的两个焦点事件中添加代码:
图5
代码如下:
short inum = 0;
private void checkedListBox1_Validated(object sender, EventArgs e)
{
label2.Text = "当前共有"+checkedListBox1.Items.Count.ToString()+"项"+"\r\n"+"数字项有"+inum.ToString()+"项";
}
private void checkedListBox1_Validating(object sender, CancelEventArgs e)
{
short i = 0;
for (i = 0; i < checkedListBox1.Items.Count;i++ )
{
if(Information.IsNumeric(checkedListBox1.Items[i].ToString()))
{
inum++;
}
}
}
当焦点离开checkedListBox控件点击button控件就会自动触发Validating和Validated事件,效果如图6所示:
图6
1.首先,使用3个panel控件和8个checkBox控件实现了反选和全选的实现界面,panel11的Dock属性设为Top,panel12的Dock属性设为Left,panel13的Dock属性设为Fill,效果如图1所示:
图1
2.将全选按钮checkBox1的click事件中实现如下代码:
private void checkBox1_Click(object sender, EventArgs e)
{
//判断
if (checkBox1.CheckState == CheckState.Checked)
{
foreach (CheckBox ck in panel13.Controls)
ck.Checked = true;
}
else
{
foreach (CheckBox ck in panel13.Controls)
ck.Checked = false;
}
}
在Form1的构造方法中给所有子选项绑定ck_child_CheckedChanged方法,代码如下:
public Form1()
{
InitializeComponent();
foreach (CheckBox ck in panel13.Controls)
{
ck.CheckedChanged += ck_child_CheckedChanged;
}
}
最后在方法中实现如下代码:
private void ck_child_CheckedChanged(object sender, EventArgs e)
{
CheckBox c = sender as CheckBox;
if (c.Checked == true)
{
foreach (CheckBox ch in panel13.Controls)
{
if (ch.Checked == false)
return;
}
checkBox1.Checked = true;
}
else
{
checkBox1.Checked = false;
}
}
下图2,3展示全选和反选的实现效果:
图2
图3
二.checkedListBox基础使用
1.首先从工具箱中拖出一个checkedListBox控件和一个Label及一个button控件,checkedListBox控件可通过编辑项添加选择项,如图4所示:
图4
在checkedListBox控件如图5所示的两个焦点事件中添加代码:
图5
代码如下:
short inum = 0;
private void checkedListBox1_Validated(object sender, EventArgs e)
{
label2.Text = "当前共有"+checkedListBox1.Items.Count.ToString()+"项"+"\r\n"+"数字项有"+inum.ToString()+"项";
}
private void checkedListBox1_Validating(object sender, CancelEventArgs e)
{
short i = 0;
for (i = 0; i < checkedListBox1.Items.Count;i++ )
{
if(Information.IsNumeric(checkedListBox1.Items[i].ToString()))
{
inum++;
}
}
}
当焦点离开checkedListBox控件点击button控件就会自动触发Validating和Validated事件,效果如图6所示:
图6
相关文章推荐
- C# WinForm开发系列之c# 通过.net自带的chart控件绘制饼图,柱形图和折线图的基础使用和扩展
- C# WinForm开发系列之c# 通过.net自带的chart控件绘制饼图,柱形图和折线图的基础使用和扩展
- C# WinForm开发系列之如何使用panel控件制作左侧导航菜单
- C# WinForm控件开发和美化(1)——控件效果介绍
- 艾伟_转载:C# WinForm开发系列 - CheckBox/Button/Label/ProgressBar
- C#基础系列:开发自己的窗体设计器(实现控件的拖动)
- 使用C#开发Metro 风格应用的路线图 -- 控件分类介绍
- C#Winform基础 datagridview控件取消最左边存储行标题的列
- 【收藏】C# WinForm开发系列 - DataGridView 使用方法集锦 - 宁波.Net技术讨论区
- GridView控件的选择功能,代码实现CheckBox控件的全选、反选以及取消
- C#之WinForm基础 获得窗体实时的供控件使用的宽与高(窗体变,数也变)
- Winform开发常用控件之Checkbox和CheckedListBox
- C#在Winform中使用GMap.Net地图开发控件在离线模式下绘制两点路线
- WinCE5.0移动平台开发笔记(c#中使用多线程访问winform中控件的若干问题(zt))
- C#开发团队的《Future Focus》系列文章,以及第一篇中介绍的动态查找(Dynamic Lookup)
- c#中跨线程调用windows窗体控件 .我们在做winform应用的时候,大部分情况下都会碰到使用多线程控制界面上控件信息的问题。然而我们并不能用传统方法来做这个问题,下面我将详细的介绍。
- C# WinForm开发系列 - CheckBox/Button/Label/ProgressBar
- C#基础系列:开发自己的窗体设计器(实现控件的拖动)
- C#基础系列:开发自己的窗体设计器(实现控件的选择)
- C# WinForm开发系列 - DataGridView 使用方法集锦