Loading...
Loading...
Implement Syncfusion WinForms ButtonEdit control for creating text input with embedded buttons. Use this skill when users need to build file/folder browsers, dropdown controls, or custom input controls with action buttons. Includes assembly setup, designer/code approaches, appearance customization, child button configuration, events, and interaction patterns.
npx skill4agent add syncfusion/winforms-ui-components-skills syncfusion-winforms-button-edit// 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 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);| Property | Purpose |
|---|---|
| TextBox | Embedded textbox control (can replace with custom textbox) |
| Buttons | Collection of ButtonEditChildButton controls |
| ButtonStyle | Visual style (Office2007, Office2016, Metro, etc.) |
| UseVisualStyle | Enable visual style rendering |
| Border3DStyle | Border appearance (Raised, Sunken, Flat, etc.) |
| ShowTextBox | Show/hide embedded textbox |
| MinimumSize / MaximumSize | Size constraints |
| CharacterCasing | Text casing (Upper, Lower, Normal) |