MCPInstall

syncfusion-winforms-autocomplete

Guides implementation of the Syncfusion WinForms AutoComplete control for text input with auto-suggestion functionality. Use when users want to add autocomplete textboxes, implement auto-suggestion features, create search boxes with suggestions, enable URL/email autocomplete, or build type-ahead search functionality in Windows desktop applications. Covers data binding, customization, filtering, multi-column dropdowns, events, and all AutoComplete-specific features.

Installs
77
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/syncfusion/winforms-ui-components-skills --skill syncfusion-winforms-autocomplete
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads syncfusion-winforms-autocomplete automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

Syncfusion WinForms AutoComplete Control

The AutoComplete control provides auto-suggestion functionality for text input fields in Windows Forms applications. It displays a dropdown list of suggestions as users type, enabling faster data entry and improved user experience with intelligent text completion.

When to Use This Skill

Use the AutoComplete control when you need to:

  • Add auto-suggestion to text input fields
  • Implement type-ahead search functionality
  • Create search boxes with intelligent suggestions
  • Enable URL or email address autocomplete
  • Build forms with frequently repeated input
  • Provide filtered suggestions from large datasets
  • Implement custom dropdown behaviors with multi-column displays

Installation

NuGet Installation

Install-Package Syncfusion.Tools.Windows

Assembly Reference

Add reference to:

  • Syncfusion.Tools.Windows.dll
  • Syncfusion.Shared.Base.dll

Quick Start

Basic Setup

using System;
using System.Windows.Forms;
using Syncfusion.Windows.Forms.Tools;

namespace AutoCompleteDemo
{
    public partial class Form1 : Form
    {
        private AutoComplete autoComplete1;
        private TextBox textBox1;

        public Form1()
        {
            InitializeComponent();
            
            // Create AutoComplete control
            autoComplete1 = new AutoComplete();
            textBox1 = new TextBox();
            textBox1.Location = new System.Drawing.Point(20, 20);
            textBox1.Size = new System.Drawing.Size(200, 20);
            autoComplete1.ParentForm = this;
            
            // Add data source
            autoComplete1.DataSource = new string[] 
            { 
                "Australia", 
                "Austria", 
                "Brazil", 
                "Canada", 
                "China" 
            };
            autoComplete1.SetAutoComplete(textBox1, AutoCompleteModes.AutoSuggest);

            // Add to form
            this.Controls.Add(textBox1);
        }
    }
}

Designer Setup

  1. Drag AutoComplete control from Toolbox to Form
  2. Set the ParentForm property to current form
  3. Configure DataSource through Properties window or code
  4. Customize appearance and behavior through Properties

Core Concepts

Data Source

The AutoComplete control can bind to various data sources:

  • String arrays
  • Generic collections (List<T>, ArrayList)
  • DataTable and DataSet
  • Custom objects with IList interface

Parent Form

The ParentForm property must be set to enable the control to display the dropdown suggestion list. This associates the AutoComplete with the parent form's container.

Filtering

Built-in filtering automatically matches user input against the data source, displaying relevant suggestions as the user types.

Navigation Guide

🚀 Getting Started

📄 Read: references/getting-started.md

  • Installation and assembly references
  • Creating WinForms application
  • Adding AutoComplete control via Designer
  • Adding AutoComplete control programmatically
  • Basic configuration and setup
  • Running the application

📊 Working with Data Sources

📄 Read: references/datasource.md

  • Binding to string collections
  • Binding to DataTable and DataSet
  • Binding to custom objects
  • Multiple data sources
  • Setting data source at design time
  • Dynamic data source updates

🎨 Customization

📄 Read: references/customization.md

  • Visual styles and themes
  • Font and color customization
  • Border styles
  • Dropdown appearance
  • Auto-size configuration
  • Column appearance in dropdown
  • Highlight matching text
  • Custom rendering

🔧 Working with AutoComplete

📄 Read: references/working-with-autocomplete.md

  • Auto-complete modes (Suggest, Append, SuggestAppend)
  • Character casing
  • Loading behavior
  • Auto-population
  • Default suggestions
  • Clearing and resetting values
  • Programmatic selection

📑 Multi-Column Dropdown

📄 Read: references/multicolumn-dropdown.md

  • Enabling multi-column mode
  • Column configuration
  • Column headers
  • Column width and sizing
  • Displaying multiple fields
  • Custom column formatting
  • Images in dropdown items
  • Grid-like appearance

⚡ Events

📄 Read: references/autocomplete-events.md

  • AutoCompleteCustomize event
  • AutoCompleteValueChanged event
  • BeforeCustomization event
  • Handling user selections
  • Validating input
  • Custom event handlers

🎯 Overview

📄 Read: references/overview.md

  • Feature overview
  • Use cases and scenarios
  • Component architecture
  • Performance considerations
  • Best practices

Common Patterns

Pattern 1: Simple String AutoComplete

AutoComplete autoComplete1 = new AutoComplete();
TextBox textBox1 = new TextBox();
textBox1.Location = new System.Drawing.Point(20, 20);
textBox1.Size = new System.Drawing.Size(200, 20);
autoComplete1.ParentForm = this;

autoComplete1.SetAutoComplete(textBox1, AutoCompleteModes.AutoSuggest);

// Add string data
autoComplete1.DataSource = new string[] 
{
    "John", "Jane", "Bob", "Alice", "Charlie"
};

this.Controls.Add(textBox1);

Pattern 2: DataTable Binding

AutoComplete autoComplete1 = new AutoComplete();
TextBox textBox1 = new TextBox();
textBox1.Location = new System.Drawing.Point(20, 50);
textBox1.Size = new System.Drawing.Size(200, 20);
autoComplete1.ParentForm = this;

// Create DataTable
DataTable dt = new DataTable();
dt.Columns.Add("Name", typeof(string));
dt.Columns.Add("Email", typeof(string));
dt.Rows.Add("John Doe", "john@example.com");
dt.Rows.Add("Jane Smith", "jane@example.com");

autoComplete1.DataSource = dt;

this.Controls.Add(textBox1);

Pattern 3: Multi-Column Display

AutoComplete autoComplete1 = new AutoComplete();
TextBox textBox1 = new TextBox();
textBox1.Location = new System.Drawing.Point(20, 50);
textBox1.Size = new System.Drawing.Size(200, 20);
autoComplete1.ParentForm = this;
autoComplete1.Style = AutoCompleteStyle.Default;

// Create DataTable with multiple columns
DataTable dt = new DataTable();
dt.Columns.Add("Name", typeof(string));
dt.Columns.Add("Country", typeof(string));
dt.Columns.Add("City", typeof(string));

dt.Rows.Add("John Doe", "USA", "New York");
dt.Rows.Add("Jane Smith", "UK", "London");
dt.Rows.Add("Bob Johnson", "Canada", "Toronto");

autoComplete1.DataSource = dt;

// Configure columns
autoComplete1.Columns.Add(new AutoCompleteDataColumnInfo("Name", 100, true));
autoComplete1.Columns.Add(new AutoCompleteDataColumnInfo("Country", 80, true));
autoComplete1.Columns.Add(new AutoCompleteDataColumnInfo("City", 80, true));

this.Controls.Add(textBox1);

Pattern 4: Custom Filtering with Events

AutoComplete autoComplete1 = new AutoComplete();
TextBox textBox1 = new TextBox();
textBox1.Location = new System.Drawing.Point(20, 50);
textBox1.Size = new System.Drawing.Size(200, 20);
autoComplete1.ParentForm = this;
autoComplete1.DataSource = GetDataSource();
// Attach AutoComplete to the TextBox
autoComplete1.SetAutoComplete(textBox1, AutoCompleteModes.AutoSuggest);

// Subscribe when the dropdown is displayed so the popup list is initialized
autoComplete1.DropDownDisplayed += (s, e) =>
{
    var lv = autoComplete1.AutoCompletePopup.Controls[0] as VirtualListView;
    if (lv != null)
    {
        lv.DrawItem -= ItemsListView_DrawItem;
        lv.DrawItem += ItemsListView_DrawItem;
    }
};

void ItemsListView_DrawItem(object sender, DrawListViewItemEventArgs e)
{
    if (e.Item != null)
    {
        e.DrawBackground();
        var text = e.Item.Text;
        using (var brush = new SolidBrush(e.Item.ForeColor))
        {
            e.Graphics.DrawString(text, e.Item.Font ?? e.Item.ListView.Font, brush, e.Bounds);
        }
        e.DrawFocusRectangle();
    }
}

this.Controls.Add(textBox1);

Pattern 5: URL/Email AutoComplete

AutoComplete autoComplete1 = new AutoComplete();
TextBox textBox1 = new TextBox();
textBox1.Location = new System.Drawing.Point(20, 50);
textBox1.Size = new System.Drawing.Size(200, 20);
autoComplete1.ParentForm = this;
// Common URLs
autoComplete1.DataSource = new string[]
{
    "http://www.syncfusion.com",
    "http://www.google.com",
    "http://www.microsoft.com",
    "http://www.github.com"
};

// Enable append mode for URL completion
autoComplete1.SetAutoComplete(textBox1, AutoCompleteModes.Both);

this.Controls.Add(textBox1);

Key Properties Reference

PropertyTypeDefaultDescription
DataSourceobjectnullData source for suggestions (array, DataTable, etc.)
ParentFormFormnullParent form containing the control (required)
AutoCompleteModeAutoCompleteModeSuggestBehavior mode: None, Suggest, Append, SuggestAppend
DisplayMemberstring""Property name to display from data source
ValueMemberstring""Property name for internal value
ColumnsAutoCompleteDataColumnInfoCollection-Column configuration for multi-column display
StyleAutoCompleteStyleDefaultVisual style of the control
Textstring""Current text value
SelectedValueobjectnullCurrently selected value
CharacterCasingCharacterCasingNormalText casing: Normal, Upper, Lower
LoadOnDemandboolfalseLoad suggestions on demand
AutoCompleteControlAutoCompletePopup-Access to underlying popup control

Events

Common events for the AutoComplete control:

  • AutoCompleteValueChanged: Triggered when selected value changes
  • AutoCompleteCustomize: Before displaying the dropdown list
  • BeforeCustomization: Before applying customization
  • TextChanged: When text content changes
  • SelectedIndexChanged: When selection changes
  • GotFocus: When control receives focus
  • LostFocus: When control loses focus

Best Practices

  1. Always Set ParentForm: The ParentForm property is mandatory for the dropdown to work properly

  2. Use Appropriate Mode: Choose the right AutoCompleteMode:

    • Suggest: Show dropdown only
    • Append: Auto-complete text only
    • SuggestAppend: Both dropdown and text completion
  3. Optimize Large Datasets: Use LoadOnDemand for large data sources to improve performance

  4. Multi-Column for Complex Data: Use multi-column display when showing related information

  5. Handle Events Properly: Use AutoCompleteValueChanged to respond to user selections

  6. Clear Data Appropriately: Call ResetItems() or set DataSource = null to clear suggestions

  7. Consider Character Casing: Set CharacterCasing based on data type (e.g., Upper for state codes)

  8. Theme Consistency: Use matching visual styles across all Syncfusion controls

Visual Styles

The control supports multiple visual themes:

  • Default
  • Office2016Colorful
  • Office2016White
  • Office2016Black
  • Office2016DarkGray
  • Metro
  • Office2007
  • Office2010
  • VS2010
autoComplete1.Style = AutoCompleteStyle.Office2016Colorful;

Framework Support

  • .NET Framework 4.5 and above
  • .NET 6.0, .NET 7.0, .NET 8.0 (Windows)
  • .NET Core 3.1 (Windows)

Additional Resources

Troubleshooting

Issue: Dropdown doesn't appear

  • Ensure ParentForm property is set
  • Check that DataSource contains valid data
  • Verify control is added to form's Controls collection

Issue: Multi-column not displaying

  • Set appropriate AutoCompleteStyle
  • Add columns to Columns collection
  • Ensure DataSource has matching column names

Issue: Performance issues with large datasets

  • Enable LoadOnDemand property
  • Reduce the number of columns displayed
  • Consider filtering data source before binding

Issue: Styling not applied

  • Ensure Syncfusion theme DLLs are referenced
  • Apply style after setting DataSource
  • Check for conflicting custom drawing code

FAQ

What does the syncfusion-winforms-autocomplete skill do?

Guides implementation of the Syncfusion WinForms AutoComplete control for text input with auto-suggestion functionality. Use when users want to add autocomplete textboxes, implement auto-suggestion features, create search boxes with suggestions, enable URL/email autocomplete, or build type-ahead search functionality in Windows desktop applications. Covers data binding, customization, filtering, multi-column dropdowns, events, and all AutoComplete-specific features.

How do I install syncfusion-winforms-autocomplete?

Run npx skills add https://github.com/syncfusion/winforms-ui-components-skills --skill syncfusion-winforms-autocomplete in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/syncfusion-winforms-autocomplete/ (personal) or .claude/skills/syncfusion-winforms-autocomplete/ (project).

Which AI agents can use syncfusion-winforms-autocomplete?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is syncfusion-winforms-autocomplete safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains syncfusion-winforms-autocomplete?

It is published by syncfusion in syncfusion/winforms-ui-components-skills. It has 77 recorded installs.

More from syncfusion/winforms-ui-components-skills

View all →

syncfusion-winforms-datagrid

syncfusion/winforms-ui-components-skills

Open the skill to read its SKILL.md instructions.

syncfusion-winforms-button

syncfusion/winforms-ui-components-skills

Guide developers to implement and customize the Syncfusion Windows Forms SfButton control for desktop applications. Use this when creating interactive buttons with text, images, styling, and theming in Windows Forms applications. Covers implementation, customization, and interaction handling.

syncfusion-winforms-common

syncfusion/winforms-ui-components-skills

Comprehensive guide for implementing Syncfusion Essential Studio Windows Forms (WinForms) controls in desktop applications. Use this skill when working with Syncfusion WinForms components or Essential Studio WinForms. Covers WinForms installation, localization, high DPI support, and .NET Core compatibility. Helps with adding controls, registering license keys, and troubleshooting WinForms component issues.

syncfusion-winforms-contextmenustrip

syncfusion/winforms-ui-components-skills

Implement ContextMenuStripEx enhanced context menus in Windows Forms applications. Use this when working with context menus, right-click functionality, or popup menus with custom items. Covers menu configuration, multi-level menus, keyboard shortcuts, and appearance customization in WinForms.

syncfusion-winforms-docking-manager

syncfusion/winforms-ui-components-skills

Guide to implement Syncfusion WinForms DockingManager control for Visual Studio-style dockable windows and layouts. Use this when creating docked, floating, or tabbed windows with advanced layout management. Covers dock states, auto-hide functionality, caption customization, and serialization in WinForms applications.

syncfusion-winforms-licensing

syncfusion/winforms-ui-components-skills

Comprehensive guide for implementing and managing Syncfusion Windows Forms licensing. Use this when troubleshooting license validation errors, generating or registering license keys, or configuring CI/CD license validation. This skill covers license key management, trial vs licensed versions, NuGet package licensing, and build server scenarios.

DevOps & Cloud80 installs

Popular frontend & design skills

View category →

setup-matt-pocock-skills

mattpocock/skills

Configure this repo for the engineering skills: set up its issue tracker, triage label vocabulary, and domain doc layout. Run once before first use of the other engineering skills.

Frontend & Design1.1M installs

frontend-design

anthropics/skills

Guidance for distinctive, intentional visual design when building new UI or reshaping an existing one. Helps with aesthetic direction, typography, and making choices that don't read as templated defaults.

OfficialFrontend & Design1M installs

hyperframes-animation

heygen-com/hyperframes

All animation knowledge for HyperFrames — atomic motion rules, multi-phase scene blueprints, scene transitions, broader motion-design techniques, AND the seven runtime adapters (GSAP default, plus Lottie, Three.js, Anime.js, CSS keyframes, Web Animations API, TypeGPU). Use for any motion or animation task: pick 2-4 rules and compose, or load a blueprint, or look up runtime-specific API (e.g. GSAP eases / Lottie player / Three.js mixer). Also covers auditing an existing composition's choreography (animation map) and 24 named text-animation effects. HyperFrames-native: single paused timeline, seek-safe, deterministic.

prototype

mattpocock/skills

Build a throwaway prototype to answer a design question. Use when the user wants to sanity-check whether a state model or logic feels right, or explore what a UI should look like.

Frontend & Design999.2K installs

hyperframes-core

heygen-com/hyperframes

The HyperFrames composition contract — build one renderable project. Use for composition structure, the data- timing attributes, class="clip", tracks, sub-compositions, variables, framework-owned media playback, deterministic-render rules, and validation. Read before writing composition HTML.

Frontend & Design930.5K installs

vercel-react-best-practices

vercel-labs/agent-skills

React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.

OfficialFrontend & Design843.1K installs