关于 syncfusion-winforms-button-edit
syncfusion-winforms-button-edit 是介绍如何在 Syncfusion WinForms 应用中实现 ButtonEdit 控件的开发技能,面向构建带操作按钮的文本输入界面的开发者。内容涵盖控件设置、外观、子按钮、自定义文本框和交互事件,并提供常见界面模式示例。
主要功能
- 01添加和配置 ButtonEdit 控件
- 02调整按钮位置与样式
- 03接入自定义文本框
- 04处理按钮及鼠标事件
- 05实现文件浏览等常见模式
适用场景
- 01创建带浏览按钮的文件夹输入框
- 02构建清除或搜索等多按钮输入框
- 03为文本输入添加日历按钮
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ syncfusion/ winforms-ui-components-skills --skill syncfusion-winforms-button-edit安装后在 Claude Code 中输入/syncfusion-winforms-button-edit确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/appearance-styling.mdchild-button-customization.mdevents-and-interaction.mdgetting-started.md详细介绍
实现 Syncfusion WinForms ButtonEdit
ButtonEdit 控件内嵌一个文本框和可自定义的子按钮,可用于创建文件浏览器、下拉控件或专用输入控件等界面。它将文本输入功能与可执行操作的按钮结合起来。
何时使用此技能
- 文件/文件夹浏览器 UI: 创建带浏览按钮的对话框
- 自定义下拉输入: 构建下拉或选择控件
- 日期/时间选择器: 实现带日历按钮的日期选择器
- 多按钮文本字段: 创建带多个操作按钮(清除、计算、搜索等)的输入控件
- 专用数据输入: 创建带操作按钮的货币、百分比或经过验证的文本输入控件
- 动态按钮排列: 将按钮置于文本框左侧或右侧
文档与导航指南
入门
📄 阅读: references/getting-started.md
- 程序集部署与 NuGet 设置
- 在 Visual Studio 设计器中创建 ButtonEdit
- 以编程方式添加 ButtonEdit
- 嵌入自定义文本框类型
- 向集合中添加子按钮
外观与样式
📄 阅读: references/appearance-styling.md
- 视觉样式与按钮样式(Office2007、Office2016、Metro 等)
- 自定义颜色与 Office 配色方案
- 边框样式与自定义
- 大小限制(MinimumSize、MaximumSize)
- 字体与前景色
- 文本大小写选项
子按钮自定义
📄 阅读: references/child-button-customization.md
- 按钮类型与边框样式
- 按钮对齐方式(左侧/右侧定位)
- 图像与文本设置
- 平面样式配置
- 焦点与 Tab 导航
- 在运行时隐藏按钮
事件与交互
📄 阅读: references/events-and-interaction.md
- ButtonClicked 事件处理
- 边框属性更改事件
- 子按钮单击事件
- 鼠标事件(MouseDown、MouseUp、MouseEnter、MouseLeave、MouseHover)
- 完整的日历选择器示例
快速入门
// Add ButtonEdit through code
using Syncfusion.Windows.Forms.Tools;
public Form1()
{
InitializeComponent();
// Create ButtonEdit control
ButtonEdit buttonEdit = new ButtonEdit();
buttonEdit.Location = new Point(50, 50);
buttonEdit.Size = new Size(250, 21);
buttonEdit.Name = "buttonEdit1";
this.Controls.Add(buttonEdit);
// Add child button
ButtonEditChildButton childButton = new ButtonEditChildButton();
childButton.Text = "Browse";
childButton.ButtonAlign = ButtonAlignment.Right;
buttonEdit.Buttons.Add(childButton);
// Handle button click
buttonEdit.ButtonClicked += (s, e) =>
{
MessageBox.Show("Button clicked!");
};
}
常见模式
文件浏览器模式
使用 ButtonEdit 创建文件浏览器,添加一个用于打开 FolderBrowserDialog 的浏览按钮:
ButtonEdit folderEdit = new ButtonEdit();
ButtonEditChildButton browseBtn = new ButtonEditChildButton();
browseBtn.Text = "...";
folderEdit.Buttons.Add(browseBtn);
folderEdit.ButtonClicked += (s, e) =>
{
FolderBrowserDialog dialog = new FolderBrowserDialog();
if (dialog.ShowDialog() == DialogResult.OK)
{
folderEdit.TextBox.Text = dialog.SelectedPath;
}
};
多按钮输入模式
在同一控件中添加多个按钮,以执行不同操作:
ButtonEdit inputEdit = new ButtonEdit();
// Clear button (left)
ButtonEditChildButton clearBtn = new ButtonEditChildButton();
clearBtn.Text = "C";
clearBtn.ButtonAlign = ButtonAlignment.Left;
inputEdit.Buttons.Add(clearBtn);
// Calculate button (right)
ButtonEditChildButton calcBtn = new ButtonEditChildButton();
calcBtn.Text = "=";
calcBtn.ButtonAlign = ButtonAlignment.Right;
inputEdit.Buttons.Add(calcBtn);
inputEdit.ButtonClicked += (s, e) =>
{
if (e.ClickedButton == clearBtn)
inputEdit.TextBox.Text = string.Empty;
else if (e.ClickedButton == calcBtn)
inputEdit.TextBox.Text = "Calculate...";
};
自定义文本框集成
将默认文本框替换为专用文本框:
ButtonEdit buttonEdit = new ButtonEdit();
// Use specialized textbox
PercentTextBox percentBox = new PercentTextBox();
buttonEdit.TextBox = percentBox;
buttonEdit.Controls.Add(percentBox);
ButtonEditChildButton btn = new ButtonEditChildButton();
btn.Text = "%";
buttonEdit.Buttons.Add(btn);
关键属性与配置
| 属性 | 用途 |
|---|---|
| TextBox | 内嵌的文本框控件(可替换为自定义文本框) |
| Buttons | ButtonEditChildButton 控件集合 |
| ButtonStyle | 视觉样式(Office2007、Office2016、Metro 等) |
| UseVisualStyle | 启用视觉样式呈现 |
| Border3DStyle | 边框外观(凸起、凹陷、平面等) |
| ShowTextBox | 显示/隐藏内嵌的文本框 |
| MinimumSize / MaximumSize | 大小限制 |
| CharacterCasing | 文本大小写(Upper、Lower、Normal) |
后续步骤: 根据要实现的内容选择上方的参考文档,或从“入门”开始了解设置说明。
评论
支持 Markdown