CheckBoxGroup 复选框组控件
控件名称
CheckBoxGroup
中文名称
复选框组控件
控件优点
CheckBoxGroup 是一个复选框组控件,用于处理多项选择场景。支持选项列表管理、全选/取消全选、半选状态等功能。

主要特性
- 选项管理:支持动态添加、删除选项
- 全选功能:支持全选/取消全选,自动显示半选状态
- 禁用控制:支持整组禁用或单个选项禁用
- 样式自定义:支持多种复选框样式(Default、Border、Card、Button、Tag)
- 布局灵活:支持水平和垂直排列,自动换行
- 数据绑定:支持通过 Value 属性获取/设置选中项
重要参数说明
数据属性
| 属性名 | 类型 | 默认值 | 说明 |
|---|---|---|---|
Options |
List |
[] | 选项列表 |
Value |
List |
[] | 选中的值列表 |
GroupName |
string | "" | 复选框组名称 |
Disabled |
bool | false | 整组是否禁用 |
布局属性
| 属性名 | 类型 | 默认值 | 说明 |
|---|---|---|---|
CheckBoxStyle |
CheckBoxStyle | Default | 复选框样式 |
FlowDirection |
FlowDirection | LeftToRight | 排列方向 |
WrapContents |
bool | true | 是否自动换行(水平排列时有效) |
ItemSpacing |
int | 8 | 选项间距 |
全选属性
| 属性名 | 类型 | 默认值 | 说明 |
|---|---|---|---|
ShowSelectAll |
bool | false | 是否显示全选选项 |
SelectAllText |
string | "全选" | 全选选项文本 |
事件
| 事件名 | 说明 |
|---|---|
ValueChanged |
选中值改变时触发 |
使用示例
基本使用
// 创建复选框组
var checkBoxGroup = new CheckBoxGroup
{
Location = new Point(20, 20),
Size = new Size(400, 200)
};
// 设置选项
checkBoxGroup.Options = new List<CheckBoxOption>
{
new CheckBoxOption("apple", "苹果"),
new CheckBoxOption("banana", "香蕉"),
new CheckBoxOption("orange", "橙子")
};
// 设置默认值
checkBoxGroup.Value = new List<string> { "apple" };
// 监听值改变事件
checkBoxGroup.ValueChanged += (sender, values) =>
{
Console.WriteLine($"选中了: {string.Join(", ", values)}");
};