Implement and configure Syncfusion TextBoxExt control in Windows Forms - an enhanced textbox with custom borders, themes, and advanced text features. Use when you need styled textboxes with Office themes, custom border colors, multiline text with overflow indicators, character casing, text alignment, or RTL support. Covers theme integration, border customization, multiline configuration, and replacing standard TextBox controls with styled alternatives.
An enhanced textbox control for Windows Forms that provides custom border styling, Office themes, multiline text support, character casing, overflow indicators, and complete appearance customization.
Use this skill when you need to:
The TextBoxExt is an advanced textbox control derived from the standard TextBox that provides:
Key Capabilities:
BorderColor and BorderStyle for custom bordersStyle property for selecting visual themesThemeName property for runtime theme switchingCharacterCasing for automatic case transformationShowOverflowIndicator for text overflow detectionMaxLength for input length restrictionsDrawActiveWhenDisabled for active appearance when disabled📄 Read: references/getting-started.md
When to read: Starting new implementation, setting up dependencies, first-time usage, basic textbox creation
Topics covered:
📄 Read: references/text-configuration.md
When to read: Configuring text properties, multiline text, character casing, alignment, overflow indicators, RTL support
Topics covered:
📄 Read: references/border-settings.md
When to read: Customizing border appearance, applying border colors, configuring 3D borders, selecting border sides
Topics covered:
📄 Read: references/appearance-styling.md
When to read: Applying visual themes, customizing colors, selecting Office styles
Topics covered:
When to read: Loading theme assemblies, configuring application-wide themes, runtime theme switching, advanced theming
Topics covered:
📄 Read: references/behavior-events.md
When to read: Configuring behavior properties, handling events, enforcing input restrictions, responding to property changes
Topics covered:
C#:
using Syncfusion.Windows.Forms.Tools;
using System.Drawing;
// Create TextBoxExt instance
TextBoxExt textBoxExt1 = new TextBoxExt();
textBoxExt1.Location = new Point(50, 50);
textBoxExt1.Size = new Size(300, 25);
textBoxExt1.Text = "Enter your text here";
// Apply Office2016 Colorful theme
textBoxExt1.Style = TextBoxExt.theme.Office2016Colorful;
// Customize border
textBoxExt1.BorderColor = Color.FromArgb(0, 120, 215); // Blue border
textBoxExt1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
// Add to form
this.Controls.Add(textBoxExt1);
VB.NET:
Imports Syncfusion.Windows.Forms.Tools
Imports System.Drawing
' Create TextBoxExt instance
Dim textBoxExt1 As New TextBoxExt()
textBoxExt1.Location = New Point(50, 50)
textBoxExt1.Size = New Size(300, 25)
textBoxExt1.Text = "Enter your text here"
' Apply Office2016 Colorful theme
textBoxExt1.Style = TextBoxExt.theme.Office2016Colorful
' Customize border
textBoxExt1.BorderColor = Color.FromArgb(0, 120, 215) ' Blue border
textBoxExt1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
' Add to form
Me.Controls.Add(textBoxExt1)
Scenario: Create a multiline textbox for notes or comments with scrollbars and overflow tooltips
C#:
using Syncfusion.Windows.Forms.Tools;
TextBoxExt notesTextBox = new TextBoxExt();
notesTextBox.Location = new System.Drawing.Point(20, 20);
notesTextBox.Size = new System.Drawing.Size(400, 200);
// Enable multiline with word wrap
notesTextBox.Multiline = true;
notesTextBox.WordWrap = true;
notesTextBox.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
// Configure overflow indicator
notesTextBox.ShowOverflowIndicator = true;
notesTextBox.ShowOverflowIndicatorToolTip = true;
notesTextBox.OverflowIndicatorToolTipText = "Text content exceeds visible area. Scroll to view more.";
// Apply Metro theme
notesTextBox.Style = TextBoxExt.theme.Metro;
// Add to form
this.Controls.Add(notesTextBox);
Scenario: Display readonly information (e.g., calculated values, status) that looks active even when disabled
C#:
using Syncfusion.Windows.Forms.Tools;
using System.Drawing;
TextBoxExt displayField = new TextBoxExt();
displayField.Location = new System.Drawing.Point(150, 100);
displayField.Size = new System.Drawing.Size(250, 25);
displayField.Text = "Total: $1,234.56";
// Make readonly but keep active appearance
displayField.ReadOnly = true;
displayField.DrawActiveWhenDisabled = true;
// Apply custom styling
displayField.BackColor = Color.WhiteSmoke;
displayField.ForeColor = Color.DarkGreen;
displayField.BorderColor = Color.LightGray;
displayField.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
// Align text to right (common for currency)
displayField.TextAlign = System.Windows.Forms.HorizontalAlignment.Right;
// Add to form
this.Controls.Add(displayField);
Scenario: Create an input field that automatically converts to uppercase (e.g., product codes, license keys)
C#:
using Syncfusion.Windows.Forms.Tools;
using System.Drawing;
TextBoxExt productCodeBox = new TextBoxExt();
productCodeBox.Location = new System.Drawing.Point(120, 80);
productCodeBox.Size = new System.Drawing.Size(200, 25);
// Enforce uppercase and length
productCodeBox.CharacterCasing = System.Windows.Forms.CharacterCasing.Upper;
productCodeBox.MaxLength = 10;
// Apply Office2019 theme
productCodeBox.Style = TextBoxExt.theme.Office2019Colorful;
// Customize border
productCodeBox.BorderColor = Color.SteelBlue;
productCodeBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
// Center align for codes
productCodeBox.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
// Add placeholder behavior
productCodeBox.ForeColor = Color.Gray;
productCodeBox.Text = "ENTER-CODE";
productCodeBox.Enter += (s, e) => {
if (productCodeBox.Text == "ENTER-CODE")
{
productCodeBox.Text = "";
productCodeBox.ForeColor = Color.Black;
}
};
productCodeBox.Leave += (s, e) => {
if (string.IsNullOrWhiteSpace(productCodeBox.Text))
{
productCodeBox.Text = "ENTER-CODE";
productCodeBox.ForeColor = Color.Gray;
}
};
// Add to form
this.Controls.Add(productCodeBox);
| Property | Type | Description |
|---|---|---|
Style | TextBoxExt.theme | Visual theme: Office2016Colorful, Office2016White, Office2016Black, Office2016DarkGray, Office2019Colorful, Metro, Office2007, Office2010, Default |
ThemeName | string | Runtime theme name (requires theme assembly loaded) |
BackColor | Color | Background color of textbox |
ForeColor | Color | Text color |
BorderStyle | BorderStyle | Border style: Fixed3D, FixedSingle, None |
BorderColor | Color | Custom border color |
Border3DStyle | Border3DStyle | 3D border effect: Raised, Sunken, Etched, etc. |
BorderSides | Border3DSide | Border sides: All, Top, Bottom, Left, Right |
| Property | Type | Description |
|---|---|---|
Text | string | Textbox content |
SelectedText | string | Currently selected text |
CharacterCasing | CharacterCasing | Case transformation: Normal, Upper, Lower |
TextAlign | HorizontalAlignment | Text alignment: Left, Center, Right |
RightToLeft | RightToLeft | RTL layout: Yes, No |
DrawActiveWhenDisabled | bool | Draw text as active even when control is disabled |
| Property | Type | Description |
|---|---|---|
Multiline | bool | Enable multiline text display |
WordWrap | bool | Wrap text to next line automatically |
ScrollBars | ScrollBars | Scrollbar visibility: None, Horizontal, Vertical, Both |
| Property | Type | Description |
|---|---|---|
ShowOverflowIndicator | bool | Show indicator when text overflows |
ShowOverflowIndicatorToolTip | bool | Show tooltip on overflow indicator |
OverflowIndicatorToolTipText | string | Custom tooltip text for overflow |
| Property | Type | Description |
|---|---|---|
MaxLength | int | Maximum character count (default: 32767) |
ReadOnly | bool | Prevent text editing |
MaximumSize | Size | Maximum control dimensions |
MinimumSize | Size | Minimum control dimensions |
| Property | Type | Description |
|---|---|---|
ThemesEnabled | bool | Enable XP themes for Fixed3D borders |
Styled textbox for searching products in inventory system:
TextBoxExt searchBox = new TextBoxExt();
searchBox.Style = TextBoxExt.theme.Office2016Colorful;
searchBox.BorderColor = Color.DodgerBlue;
searchBox.Text = "Search products...";
Large textbox for product descriptions or notes:
TextBoxExt descriptionBox = new TextBoxExt();
descriptionBox.Multiline = true;
descriptionBox.WordWrap = true;
descriptionBox.ScrollBars = ScrollBars.Vertical;
descriptionBox.Size = new Size(500, 150);
Automatic uppercase conversion for license keys:
TextBoxExt licenseBox = new TextBoxExt();
licenseBox.CharacterCasing = CharacterCasing.Upper;
licenseBox.MaxLength = 25;
licenseBox.TextAlign = HorizontalAlignment.Center;
Display-only field that shows active appearance:
TextBoxExt statusBox = new TextBoxExt();
statusBox.ReadOnly = true;
statusBox.DrawActiveWhenDisabled = true;
statusBox.BackColor = Color.LightYellow;
statusBox.Text = "Status: Active";
Right-to-left textbox for international applications:
TextBoxExt arabicTextBox = new TextBoxExt();
arabicTextBox.RightToLeft = RightToLeft.Yes;
arabicTextBox.TextAlign = HorizontalAlignment.Right;
Textbox with custom border color matching brand:
TextBoxExt brandedBox = new TextBoxExt();
brandedBox.BorderStyle = BorderStyle.FixedSingle;
brandedBox.BorderColor = Color.FromArgb(255, 87, 34); // Orange
brandedBox.Style = TextBoxExt.theme.Metro;
Textbox with enforced dimensions:
TextBoxExt constrainedBox = new TextBoxExt();
constrainedBox.MinimumSize = new Size(200, 25);
constrainedBox.MaximumSize = new Size(400, 25);
Assembly: Syncfusion.Shared.Base.dll
Namespace: Syncfusion.Windows.Forms.Tools
NuGet Package: Syncfusion.Shared.WinForms
Minimum .NET Framework: 4.5
Key Classes:
TextBoxExt - Main enhanced textbox control classSkinManager - Theme assembly loading managerRelated Skills: