KryptonCheckButton ✓ LCode 已集成 Toolkit
命名空间:Krypton.Toolkit · 程序集:Krypton.Toolkit.dll
简介
KryptonCheckButton 是可选中按钮控件,功能类似 WPF 的 ToggleButton。点击后保持按下(Checked)状态,再次点击取消选中。常用于工具栏切换按钮、视图模式切换、格式开关(加粗/斜体)等需要持久化选中态的场景。支持与 KryptonCheckSet 配合实现单选组行为。
常用属性
| 属性 | 类型 | 说明 |
|---|---|---|
Values.Text | string | 按钮显示的文字 |
Values.Image | Image | 按钮左侧图标 |
Checked | bool | 是否处于选中(按下)状态 |
ButtonStyle | ButtonStyle | 按钮视觉风格(Default / Gallery / NavigatorMini 等) |
KryptonCommand | KryptonCommand | 绑定的命令对象 |
StateCheckedNormal.Back.Color1 | Color | 选中状态正常背景色 |
StateCheckedTracking.Back.Color1 | Color | 选中状态悬停背景色 |
StateCommon.Content.ShortText.Font | Font | 文字字体 |
AutoCheck | bool | 点击时是否自动切换 Checked 状态 |
ButtonSpecs | 集合 | 附加的 ButtonSpec 按钮集合 |
快速上手
基本用法(切换按钮)
using Krypton.Toolkit;
// 创建一个"加粗"切换按钮
var btnBold = new KryptonCheckButton();
btnBold.Values.Text = "B";
btnBold.Values.Image = Properties.Resources.icon_bold;
btnBold.Location = new Point(20, 20);
btnBold.Size = new Size(36, 32);
// 选中状态变化事件
btnBold.CheckedChanged += (s, e) =>
{
richTextBox.SelectionFont = new Font(
richTextBox.SelectionFont,
btnBold.Checked ? FontStyle.Bold : FontStyle.Regular);
};
this.Controls.Add(btnBold);
配合 KryptonCheckSet 实现单选组
// 创建多个 CheckButton
var btnList = new KryptonCheckButton { Values = { Text = "列表视图" } };
var btnGrid = new KryptonCheckButton { Values = { Text = "网格视图" } };
var btnCard = new KryptonCheckButton { Values = { Text = "卡片视图" } };
// 加入 CheckSet,同组内只能选中一个
var checkSet = new KryptonCheckSet();
checkSet.CheckButtons.Add(btnList);
checkSet.CheckButtons.Add(btnGrid);
checkSet.CheckButtons.Add(btnCard);
// 默认选中第一个
btnList.Checked = true;
checkSet.CheckedButtonChanged += (s, e) =>
{
var selected = checkSet.CheckedButton.Values.Text;
SwitchView(selected);
};
进阶用法
自定义选中状态外观
// 选中时使用翡翠绿背景突出显示
btnBold.StateCheckedNormal.Back.Color1 = Color.FromArgb(204, 251, 241);
btnBold.StateCheckedNormal.Border.Color1 = Color.FromArgb(15, 118, 110);
btnBold.StateCheckedNormal.Content.ShortText.Color1 = Color.FromArgb(15, 118, 110);
// 选中 + 悬停时稍微加深
btnBold.StateCheckedTracking.Back.Color1 = Color.FromArgb(153, 246, 228);
工具栏视图切换(典型场景)
// 模拟 Office 工具栏中的视图切换按钮组
var views = new[] { "大图标", "小图标", "详细信息" };
var checkSet = new KryptonCheckSet();
int x = 10;
foreach (var name in views)
{
var btn = new KryptonCheckButton();
btn.Values.Text = name;
btn.ButtonStyle = ButtonStyle.NavigatorMini;
btn.Location = new Point(x, 10);
btn.Size = new Size(80, 28);
checkSet.CheckButtons.Add(btn);
this.Controls.Add(btn);
x += 90;
}
checkSet.CheckButtons[0].Checked = true;
提示:在 LCode 设计器中,从工具箱拖放 KryptonCheckButton 后,可在属性面板设置
Checked 为 True 使其默认选中。多个 CheckButton 可通过 KryptonCheckSet 组件关联实现互斥选择。
对应示例项目
📁 Source/Krypton Toolkit Examples/KryptonCheckButton Examples/
包含:基本切换按钮、CheckSet 单选组、工具栏视图切换演示。