WinForm应用实战开发指南 - 复选框控件复制小技巧分享 本人在开发Winform程序中有一个给复选框赋值和获取值的小技巧分享讨论一下。PS给大家推荐一个C#开发可以用到的界面组件——DevExpress WinForms它能完美构建流畅、美观且易于使用的应用程序无论是Office风格的界面还是分析处理大批量的业务数据它都能轻松胜任DevExpress新旧版本帮助文档获取可点击这篇文章查看——《界面控件DevExpress v26.1帮助文档大全CHM版本》应用场景是这样的如果你有一些需要使用复选框来呈现内容的时候如下面两图所示以上的切除部分的内容是采用在GroupBox中放置多个CheckBox的方式其实这个部分也可以使用Winform控件种的CheckedListBox控件来呈现内容。如下所示。不管采用那种控件我们都会涉及到为它赋值的麻烦我这里封装了一个函数可以很简单的给控件 赋值大致代码如下。CheckBoxListUtil.SetCheck(this.groupRemove, info.切除程度);那么取控件的内容代码是如何的呢代码如下info.切除程度 CheckBoxListUtil.GetCheckedItems(this.groupRemove);赋值和取值通过封装函数调用都非常简单也可以重复利用封装方法函数如下所示。public class CheckBoxListUtil { /// summary /// 如果值列表中有的,根据内容勾选GroupBox里面的成员. /// /summary /// param namegroup包含CheckBox控件组的GroupBox控件/param /// param namevalueList逗号分隔的值列表/param public static void SetCheck(GroupBox group, string valueList) { string[] strtemp valueList.Split(,); foreach (string str in strtemp) { foreach (Control control in group.Controls) { CheckBox chk control as CheckBox; if (chk ! null chk.Text str) { chk.Checked true; } } } } /// summary /// 获取GroupBox控件成员勾选的值 /// /summary /// param namegroup包含CheckBox控件组的GroupBox控件/param /// returns返回逗号分隔的值列表/returns public static string GetCheckedItems(GroupBox group) { string resultList ; foreach (Control control in group.Controls) { CheckBox chk control as CheckBox; if (chk ! null chk.Checked) { resultList string.Format({0},, chk.Text); } } return resultList.Trim(,); } /// summary /// 如果值列表中有的,根据内容勾选CheckedListBox的成员. /// /summary /// param namecblItemsCheckedListBox控件/param /// param namevalueList逗号分隔的值列表/param public static void SetCheck(CheckedListBox cblItems, string valueList) { string[] strtemp valueList.Split(,); foreach (string str in strtemp) { for (int i 0; i cblItems.Items.Count; i) { if (cblItems.GetItemText(cblItems.Items[i]) str) { cblItems.SetItemChecked(i, true); } } } } /// summary /// 获取CheckedListBox控件成员勾选的值 /// /summary /// param namecblItemsCheckedListBox控件/param /// returns返回逗号分隔的值列表/returns public static string GetCheckedItems(CheckedListBox cblItems) { string resultList ; for (int i 0; i cblItems.CheckedItems.Count; i) { if (cblItems.GetItemChecked(i)) { resultList string.Format({0},, cblItems.GetItemText(cblItems.Items[i])); } } return resultList.Trim(,); } }以上代码分为两部分 其一是对GroupBox的控件组进行操作第二是对CheckedListBox控件进行操作。这样在做复选框的时候就比较方便一点如我采用第一种GroupBox控件组方式根据内容勾选的界面如下所示。应用上面的辅助类函数如果你是采用GroupBox方案你就可以随便拖几个CheckBox控件进去就可以了也犯不着给他取个有意义的名字因为不管它是张三还是李四只要它的父亲是GroupBox就没有问题了。本文转载自博客园 - 伍华聪

相关新闻

最新新闻

UniApp跨平台文件下载全攻略:从Blob原理到多端兼容实现

UniApp跨平台文件下载全攻略:从Blob原理到多端兼容实现

1. 从需求到方案:为什么文件下载在混合开发中是个“坑”做前端和移动端开发,尤其是用uniapp这类跨平台框架,文件下载这个功能点,乍一看很简单,不就是发个请求把数据存下来吗?但真上手做,尤其是在…

2026/8/15 21:53:24
AI Agent 接入企业内部系统:ERP、CRM 与数据库的工程化对接方案

AI Agent 接入企业内部系统:ERP、CRM 与数据库的工程化对接方案

很多企业落地智能 Agent 时,都会遇到同一个瓶颈:只能回答知识库中的制度、文档类问题,一碰真实业务数据就“哑火”。想查库存、看订单、统计销售数据,还是得打开 ERP、CRM 手动操作,Agent 的价值大打折扣。 但直接让 Agent 对接业务系统,风险又显而易见:SQL 写歪了拖垮…

2026/8/15 21:53:24
趋势外推预测实战指南:从模型选型到Python/Excel实现

趋势外推预测实战指南:从模型选型到Python/Excel实现

1. 项目概述:趋势外推预测的实战价值做数据分析或者业务预测的朋友,对“趋势外推”这个词肯定不陌生。它不是什么高深莫测的玄学,而是我们面对一堆历史数据,想看看未来大概会往哪个方向走时,最常用、也最接地气的一种方…

2026/8/15 21:53:24
深入解析UNIX“一切皆文件”哲学:从VFS抽象到现代系统设计实践

深入解析UNIX“一切皆文件”哲学:从VFS抽象到现代系统设计实践

1. 从“文件”说起:一个被误解的哲学基石“一切皆文件”,这大概是UNIX哲学里最出名也最容易被误解的一句话了。很多刚接触Linux或macOS终端的朋友,第一次看到这个说法时,脑子里冒出的第一个念头往往是:“难道我的CPU、…

2026/8/15 21:53:24
AI网关Leanroute:统一接入与管理LLM与MCP工具,破解AI应用集成难题

AI网关Leanroute:统一接入与管理LLM与MCP工具,破解AI应用集成难题

如果你正在构建一个AI应用,是否经历过这样的场景:为了接入不同的模型,你需要在代码里写满各种API密钥、处理不同的调用格式、管理复杂的计费逻辑;为了让AI能调用外部工具,你不得不为每个工具编写适配器,处理…

2026/8/15 21:53:24
MacBook安装Windows To Go全攻略:从硬件选择到驱动注入避坑指南

MacBook安装Windows To Go全攻略:从硬件选择到驱动注入避坑指南

1. 为什么要在MacBook上折腾WTG?一个被逼出来的选择 如果你和我一样,主力机是MacBook,但时不时就得打开一个只有Windows才能跑的软件,或者需要处理一些对Windows环境有强依赖的工作,那你肯定懂这种“双系统”的纠结。虚…

2026/8/15 21:48:23