KryptonColorButton ✓ LCode 已集成 Toolkit
命名空间:Krypton.Toolkit · 程序集:Krypton.Toolkit.dll
简介
KryptonColorButton 是颜色选择按钮,点击后弹出内置的颜色选择面板(包含主题色、标准色、自定义颜色区域)。用户选择颜色后通过 SelectedColor 属性获取结果。典型用途包括字体颜色、背景色、高亮色设置,类似 Office 工具栏中的字体颜色按钮。
常用属性
| 属性 | 类型 | 说明 |
|---|---|---|
Values.Text | string | 按钮显示的文字 |
Values.Image | Image | 按钮左侧图标 |
SelectedColor | Color | 当前选中的颜色 |
RecentColors | Color[] | 最近使用的颜色列表 |
MaxRecentColors | int | 最近颜色列表的最大数量 |
VisibleThemes | bool | 是否显示主题颜色区域 |
VisibleStandardColors | bool | 是否显示标准颜色区域 |
VisibleNoColor | bool | 是否显示"无颜色"选项 |
VisibleMoreColors | bool | 是否显示"其他颜色"按钮(弹出系统颜色对话框) |
SchemeThemes | ColorSchemeThemes | 主题颜色的配色方案 |
Splitter | bool | 是否显示下拉箭头(分体模式) |
快速上手
基本用法(字体颜色选择)
using Krypton.Toolkit;
// 创建颜色按钮
var btnFontColor = new KryptonColorButton();
btnFontColor.Values.Text = "字体颜色";
btnFontColor.Values.Image = Properties.Resources.icon_fontcolor;
btnFontColor.SelectedColor = Color.Red;
btnFontColor.Location = new Point(20, 20);
btnFontColor.Size = new Size(120, 32);
// 用户选择颜色后应用
btnFontColor.SelectedColorChanged += (s, e) =>
{
richTextBox.SelectionColor = btnFontColor.SelectedColor;
};
this.Controls.Add(btnFontColor);
分体模式(点击按钮直接应用,点箭头弹出面板)
var btnHighlight = new KryptonColorButton();
btnHighlight.Values.Text = "高亮";
btnHighlight.Splitter = true; // 按钮和箭头分为两个区域
btnHighlight.SelectedColor = Color.Yellow;
// 点击按钮主体:直接应用上次颜色
btnHighlight.Click += (s, e) =>
{
richTextBox.SelectionBackColor = btnHighlight.SelectedColor;
};
// 点击箭头:自动弹出颜色面板(无需额外代码)
进阶用法
自定义颜色面板布局
// 简化面板:只显示标准色和"其他颜色"
var btnSimple = new KryptonColorButton();
btnSimple.Values.Text = "背景色";
btnSimple.VisibleThemes = false; // 隐藏主题色区域
btnSimple.VisibleNoColor = false; // 隐藏"无颜色"
btnSimple.VisibleStandardColors = true; // 保留标准色
btnSimple.VisibleMoreColors = true; // 保留"其他颜色"入口
btnSimple.MaxRecentColors = 8; // 最多记录 8 个最近颜色
与 KryptonRibbon 集成
// 在 Ribbon 选项卡中添加颜色按钮
var ribbonColorBtn = new RibbonColorButton();
ribbonColorBtn.TextLine1 = "字体颜色";
ribbonColorBtn.ImageSmall = Properties.Resources.icon_fontcolor_16;
ribbonColorBtn.SelectedColor = Color.Black;
ribbonColorBtn.SelectedColorChanged += (s, e) =>
{
ApplyFontColor(ribbonColorBtn.SelectedColor);
};
ribbonGroup.Items.Add(ribbonColorBtn);
提示:颜色面板中的"主题颜色"会跟随 KryptonManager 的当前调色板自动变化。如果只需要固定颜色列表,可将
VisibleThemes 设为 False。
对应示例项目
📁 Source/Krypton Toolkit Examples/KryptonColorButton Examples/
包含:基本颜色选择、分体模式、自定义面板布局、Ribbon 集成演示。