全选按钮的使用。winfrom程序中,对全选按钮的理解,欢迎拍砖!

本文介绍了一种在WinForms应用程序中实现全选功能的方法,包括如何通过WebService获取用户列表并将其绑定到CheckBox控件上,以及如何实现全选按钮控制多个CheckBox的状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在做公司项目时,用到了一些单选多选的处理情况。特编辑此文,欢迎批评指正。(有图有真相)

winfrom程序。

首先,需要绑定某些用户,该用于由当前登陆用户获取。

private void BindUser()
        {
            DataTable dt = new WebService.Manage.Manage().getUsersByParentID(Main.tbl_user.ID);// 通过webservice访问数据库,根据当前登陆用户获取其子用户。
            CheckBox user = new CheckBox();
            user.Location = new Point(30, 0);
            user.Text = Main.tbl_user.U_UserName;
            user.Tag = Main.tbl_user.ID;
            panelUser.Controls.Add(user);
            for (int i = 1; i < dt.Rows.Count; i++)//循环遍历  子用户。
            {
                CheckBox userr = new CheckBox();
                userr.Location = new Point(30, i * 20);
                userr.Text = dt.Rows[i - 1]["U_UserName"].ToString();
                userr.Tag = dt.Rows[i - 1]["ID"].ToString();
                panelUser.Controls.Add(userr);//特定的 panel 中绑定 用户名
            }
        }

下图为绑定之后的效果:

   /// <summary>
        /// 选择“全选”,指定的panle中的 checkbox全部选中
        /// </summary>
        /// <param name="checkAllCheck">全选按钮</param>
        /// <param name="panel">其他checkbox容器</param>
        private void checkAllCheck(CheckBox checkAllCheck,Panel panel)
        {
            if (checkAllCheck.Checked)
            {
                foreach (CheckBox check in panel.Controls)
                {
                    check.Checked = true;

        check.Enabled = false;

       checkAllCheck.Enabled = true;// 控制 不可更改
                }
            }
            else
            {
                foreach (CheckBox check in panel.Controls)
                {
                    check.Enabled = true;
                }
            }
        }

此图为绑定之后。单机全选按钮后的效果。此事,各个用户不可再取消选择,除非,取消全选。

转载于:https://www.cnblogs.com/Lin267307031/archive/2012/09/04/2671115.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值