| name | syncfusion-winforms-spell-checker |
| description | Implement spell checking capabilities in Windows Forms applications using Syncfusion SpellCheckerAdv. Use this skill whenever the user needs to add spell checking to text controls, configure dictionaries, set up context menu suggestions, customize ignore options, or retrieve spelling suggestions. This skill covers attaching the control to RichTextBox/TextBox, managing multiple language dictionaries, enabling real-time context menus, and handling misspelled word suggestions. |
| metadata | {"author":"Syncfusion Inc","version":"34.1.29"} |
Implementing Syncfusion Windows Forms SpellChecker
The SpellCheckerAdv control provides Microsoft Office-style spell checking capabilities for Windows Forms text controls. This skill guides you through installation, control attachment, dictionary configuration, context menu integration, and customization options.
When to Use This Skill
Use this skill when you need to:
- Add spell checking to RichTextBox or TextBox controls
- Configure dictionary sources (built-in English or custom dictionaries)
- Set up context menu-driven spell checking
- Customize ignore rules for special content (emails, URLs, numbers)
- Retrieve spelling suggestions and alternatives
- Support multiple languages via different dictionary formats
Documentation Navigation
Getting Started
📄 Read: references/getting-started.md
- Installation and assembly references
- Adding control via designer or code
- Configuring SpellCheckerAdv with text controls
- Invoking spell check operations
- Basic implementation patterns
Dictionary Configuration
📄 Read: references/dictionary-setup.md
- Setting up default English dictionary
- Adding Hunspell dictionaries for multiple languages
- Adding Ispell dictionaries
- Adding OpenOffice dictionaries
- Switching cultures at runtime
- Custom dictionary support
Context Menu Integration
📄 Read: references/context-menu-integration.md
- Implementing ISpellCheckerAdvEditorTools interface
- Creating TextBoxSpellEditor wrapper class
- Setting up runtime context menus
- User-driven spell checking workflow
- Adding to dictionary from context menu
Customization & Suggestions
📄 Read: references/customization-suggestions.md
- Ignore options (emails, URLs, mixed case, special symbols)
- Retrieving suggestion lists
- Phonetic word alternatives
- Anagram suggestions
- Custom word management
Quick Start Example
Basic Spell Check Setup:
using Syncfusion.Windows.Forms.Tools;
SpellCheckerAdv spellCheckerAdv = new SpellCheckerAdv();
spellCheckerAdv.DictionaryPath = "Syncfusion_en_us.dic";
RichTextBox richTextBox = new RichTextBox();
spellCheckerAdv.SpellCheck(new SpellCheckerAdvEditorWrapper(richTextBox));
Context Menu Spell Checking:
class TextBoxSpellEditor : ISpellCheckerAdvEditorTools
{
private TextBoxBase textBox;
public TextBoxSpellEditor(Control control)
{
Control = control;
}
public Control Control
{
get { return textBox; }
set { textBox = value as TextBoxBase; }
}
public string Text
{
get { return textBox.Text; }
set { textBox.Text = value; }
}
public string CurrentWord { get; set; }
public void SelectText(int start, int length)
{
textBox.Select(start, length);
}
}
TextBoxSpellEditor editor = new TextBoxSpellEditor(richTextBox);
spellCheckerAdv.PerformSpellCheckUsingContextMenu(editor);
Common Implementation Patterns
Pattern 1: Dialog-Based Spell Checking
User clicks a "Spell Check" button → SpellCheckerAdv dialog opens → User reviews and corrects misspelled words → Dialog closes.
private void buttonSpellCheck_Click(object sender, EventArgs e)
{
spellCheckerAdv.SpellCheck(new SpellCheckerAdvEditorWrapper(richTextBox));
}
Pattern 2: Real-Time Context Menu
User right-clicks misspelled word → Context menu appears with suggestions → User selects correction or adds to dictionary.
TextBoxSpellEditor editor = new TextBoxSpellEditor(richTextBox);
spellCheckerAdv.PerformSpellCheckUsingContextMenu(editor);
Pattern 3: Multi-Language Support
Configure multiple dictionary cultures and switch at runtime based on user preference or content language.
SpellCheckerAdv spellChecker = new SpellCheckerAdv();
spellChecker.Dictionaries = new DictionaryCollection();
spellChecker.Dictionaries.Add(new HunspellDictionary()
{
Culture = new CultureInfo("en-US"),
DictionaryPath = @"en-US.dic",
GrammarPath = @"en-US.aff"
});
spellChecker.Dictionaries.Add(new HunspellDictionary()
{
Culture = new CultureInfo("fr-FR"),
DictionaryPath = @"fr-FR.dic",
GrammarPath = @"fr-FR.aff"
});
spellChecker.Culture = new CultureInfo("fr-FR");
Key Props & Methods
| Element | Purpose | When to Use |
|---|
DictionaryPath | Set built-in dictionary location | Simple English spell checking |
Dictionaries | Add custom dictionaries (Hunspell, Ispell, OpenOffice) | Multi-language support |
Culture | Set active spell-check language | Language switching |
SpellCheck() | Trigger spell-check dialog | User-initiated spell checking |
PerformSpellCheckUsingContextMenu() | Enable context menu suggestions | Real-time spell checking |
GetSuggestions() | Retrieve correction suggestions | Programmatic spell checking |
IgnoreEmailAddress, IgnoreUrl, etc. | Skip special content types | Customized spell checking |
Common Use Cases
- Email Client: Right-click spell checking with custom dictionaries
- Document Editor: Multi-language spell checking with context menu
- Form Validator: Check user input before submission
- Content Management: Ignore URLs and email addresses in content
- Multilingual App: Switch spell-check language based on UI culture