mcpField
S
syncfusion-winforms-button-edit

syncfusion-winforms-button-edit

github.com/syncfusion开发281 次安装1 周前更新
代码仓库

关于 syncfusion-winforms-button-edit

syncfusion-winforms-button-edit 是介绍如何在 Syncfusion WinForms 应用中实现 ButtonEdit 控件的开发技能,面向构建带操作按钮的文本输入界面的开发者。内容涵盖控件设置、外观、子按钮、自定义文本框和交互事件,并提供常见界面模式示例。

主要功能

  1. 01添加和配置 ButtonEdit 控件
  2. 02调整按钮位置与样式
  3. 03接入自定义文本框
  4. 04处理按钮及鼠标事件
  5. 05实现文件浏览等常见模式

适用场景

  1. 01创建带浏览按钮的文件夹输入框
  2. 02构建清除或搜索等多按钮输入框
  3. 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.md
child-button-customization.md
events-and-interaction.md
getting-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内嵌的文本框控件(可替换为自定义文本框)
ButtonsButtonEditChildButton 控件集合
ButtonStyle视觉样式(Office2007、Office2016、Metro 等)
UseVisualStyle启用视觉样式呈现
Border3DStyle边框外观(凸起、凹陷、平面等)
ShowTextBox显示/隐藏内嵌的文本框
MinimumSize / MaximumSize大小限制
CharacterCasing文本大小写(Upper、Lower、Normal)

后续步骤: 根据要实现的内容选择上方的参考文档,或从“入门”开始了解设置说明。

评论

支持 Markdown