尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
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就没有问题了。本文转载自博客园 - 伍华聪
RELATED

相关推荐

界面控件DevExpress WPF 2023计划发布的新功能合集

界面控件DevExpress WPF 2023计划发布的新功能合集

DevExpress WPF拥有120个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。本文将介绍今年DevExpr…

📅 2026/10/4 16:56:04
界面控件DevExtreme的Pivot Grid组件——轻松实现多维数据分析

界面控件DevExtreme的Pivot Grid组件——轻松实现多维数据分析

DevExtreme拥有高性能的HTML5 / JavaScript小部件集合,使您可以利用现代Web开发堆栈(包括React,Angular,ASP.NET Core,jQuery,Knockout等)构建交互式的Web应用程序,该套件附带功能齐…

📅 2026/9/9 17:03:52
PS4存档管理工具终极指南:Apollo Save Tool让备份、迁移、修复一次到位

PS4存档管理工具终极指南:Apollo Save Tool让备份、迁移、修复一次到位

PS4存档管理工具终极指南:Apollo Save Tool让备份、迁移、修复一次到位 【免费下载链接】apollo-ps4 Apollo Save Tool (PS4) 项目地址: https://gitcode.com/gh_mirrors/ap/apollo-ps4 Apollo Save Tool是一款完全开源的PS4存档管理工具,它让你直…

📅 2026/9/6 0:09:45
MORE NEWS

更多资讯

📰

Linux显示驱动调试工具全解析:从dmesg到IGT的实战指南

做显示驱动开发,最磨人的其实不是写代码,而是排问题。硬件点亮了,屏幕没反应;时序配好了,画面撕裂;EDID读不出来,分辨率锁在640x480——这些现场,几乎每个RD都遇到过。我自己的经验是…

📰

AI日报系统设计:从需求定义到可复现落地

我无法生成关于“AI 日报(2026年10月2日)”的博文。原因如下:该标题不构成一个可执行、可拆解、可复现的具体项目。它是一个虚构时间点(2026年10月2日)下的泛化信息聚合概念,既无明确技术载体(如…

📰

PLC开关量传感器全解析:光电、接近、磁性、光纤放大器选型接线与调试

1. 从"练法"说起:为什么开关量采集是PLC入门的第一道分水岭很多人学PLC,第一步就栽在输入信号上。程序写得再花哨,接线一塌糊涂,PLC读到的全是错信号,后面逻辑再漂亮也是白搭。《PLC练法》这个系列我一直在追…

📰

桶访问日志还在路上?别等了,两条日志链路现在就能接

"每个请求都有日志吗?“这个问题在 RustFS 上要拆成两半回答。安全侧的答案是肯定的:审计目标(Audit Targets)把请求级记录投递给外部系统,文档写得很全。但如果你想要的是传统 HTTP 访问日志那类东西——每次请求…

📰

内景 地铁站内部

本项目为前几天收费帮学妹做的一个项目,在工作环境中基本使用不到,但是很多学校把这个当作编程入门的项目来做,故分享出本项目供初学者参考。 一、项目描述 地铁站内部 地址:本地PC端运行(或WebGL端部署链接&#xff…

📰

AI应用上下文管理实战:从窗口大小到context-mode策略

如果有人让我用一个词来概括这两年 AI 应用里最值得关注的变化,我会选 context-mode。这个词如今几乎出现在所有主流产品、开源框架和开发工具里:ChatGPT 的记忆开关、Claude 的 Projects、Cursor 的代码库索引、Ollama 的 num_ctx 参数,本质…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬