KryptonCommandLinkButton ✓ LCode 已集成 Toolkit
命名空间:Krypton.Toolkit · 程序集:Krypton.Toolkit.dll
简介
KryptonCommandLinkButton 是命令链接按钮,模仿 Windows 7 及以后系统对话框中的大按钮风格。它同时显示标题(Heading)和描述文字(ExtraText),左侧带有箭头图标,适合用于向导页面、设置入口、功能导航等需要向用户解释操作含义的场景。
常用属性
| 属性 | 类型 | 说明 |
|---|---|---|
Values.Heading | string | 主标题文字(大号加粗显示) |
Values.ExtraText | string | 描述文字(显示在标题下方,解释操作) |
Values.Image | Image | 自定义左侧图标(默认显示箭头) |
StateCommon.Content.ShortText.Font | Font | 标题字体 |
StateCommon.Content.LongText.Font | Font | 描述文字字体 |
StateNormal.Back.Color1 | Color | 正常状态背景色 |
StateTracking.Back.Color1 | Color | 悬停时背景色 |
StatePressed.Back.Color1 | Color | 按下时背景色 |
KryptonCommand | KryptonCommand | 绑定的命令对象 |
ButtonStyle | ButtonStyle | 按钮视觉风格 |
快速上手
基本用法(设置向导入口)
using Krypton.Toolkit;
// 创建命令链接按钮
var btnNetwork = new KryptonCommandLinkButton();
btnNetwork.Values.Heading = "连接网络";
btnNetwork.Values.ExtraText = "设置无线网络或以太网连接,配置代理服务器。";
btnNetwork.Location = new Point(30, 30);
btnNetwork.Size = new Size(400, 64);
btnNetwork.Click += (s, e) => ShowNetworkSettings();
this.Controls.Add(btnNetwork);
多个命令链接按钮组成导航列表
var options = new[]
{
("账户管理", "修改密码、绑定邮箱、管理登录设备"),
("隐私设置", "控制数据收集、广告偏好、活动历史记录"),
("系统更新", "检查并安装最新的系统补丁和功能更新"),
("备份还原", "将当前配置备份到云端或从备份恢复")
};
int y = 20;
foreach (var (title, desc) in options)
{
var btn = new KryptonCommandLinkButton();
btn.Values.Heading = title;
btn.Values.ExtraText = desc;
btn.Location = new Point(30, y);
btn.Size = new Size(420, 60);
btn.Click += (s, e) => NavigateTo(title);
this.Controls.Add(btn);
y += 70;
}
进阶用法
自定义外观(翡翠绿主题风格)
// 标题使用较大字号
btnNetwork.StateCommon.Content.ShortText.Font =
new Font("Microsoft YaHei UI", 12f, FontStyle.Bold);
// 描述文字使用灰色小字
btnNetwork.StateCommon.Content.LongText.Font =
new Font("Microsoft YaHei UI", 9f);
btnNetwork.StateCommon.Content.LongText.Color1 = Color.FromArgb(107, 114, 128);
// 悬停时显示淡绿背景
btnNetwork.StateTracking.Back.Color1 = Color.FromArgb(240, 253, 250);
btnNetwork.StateTracking.Border.Color1 = Color.FromArgb(15, 118, 110);
禁用状态与条件控制
// 未联网时禁用更新入口
var btnUpdate = new KryptonCommandLinkButton();
btnUpdate.Values.Heading = "检查更新";
btnUpdate.Values.ExtraText = "当前版本:v2.1.0";
btnUpdate.Enabled = IsNetworkAvailable();
// 网络状态变化时更新
NetworkChange.NetworkAvailabilityChanged += (s, e) =>
{
btnUpdate.Enabled = e.IsAvailable;
btnUpdate.Values.ExtraText = e.IsAvailable
? "当前版本:v2.1.0(点击检查更新)"
: "网络不可用,无法检查更新";
};
提示:KryptonCommandLinkButton 的
Values.Heading 对应主标题,Values.ExtraText 对应描述文字。与普通 KryptonButton 的 Values.Text 不同,注意属性名称的区别。
对应示例项目
📁 Source/Krypton Toolkit Examples/KryptonCommandLinkButton Examples/
包含:基本命令链接、多按钮导航列表、自定义外观演示。