# TX Text Control .NET for Windows Forms

> Connect TX Spell .NET to a Windows Forms TextControl: SpellChecker, IsSpellCheckingEnabled, dialogs, context menu, hyphenation, thesaurus and minimum versions.

- **Product:** TX Spell .NET for Windows Forms
- **Section:** Documentation
- **Kind:** Topic
- **Path:** TX Spell .NET for Windows Forms > Integration Guide > TX Text Control .NET for Windows Forms
- **1880 words**
- **Web URL:** https://docs.textcontrol.com/tx-spell-dotnet-winforms/integration/tx-text-control/
- **LLMs URL:** https://docs.textcontrol.com/tx-spell-dotnet-winforms/integration/tx-text-control/llms.txt
- **LLMs-Full URL:** https://docs.textcontrol.com/tx-spell-dotnet-winforms/integration/tx-text-control/llms-full.txt

---

TX Spell .NET was designed as the spell checker of TX Text Control, and the two work together through a handful of properties of the `TextControl`. Once the spell checker is connected, TX Text Control underlines misspelled words, offers its context menu and dialog, hyphenates, detects languages and opens its thesaurus, all without code. Here is the map of that integration: which member of TX Text Control does what with TX Spell .NET, and which page describes it.

### The Connection

One property connects the two products: [SpellChecker](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/textcontrol/spellchecker-property/llms-full.txt) of the `TextControl` names the spell checker. The property holds the `TXSpellChecker` itself: set it in the **Properties** window or in code. The connection also initializes the spell checker, so you don't call its [Create](https://docs.textcontrol.com/tx-spell-dotnet-winforms/reference/txtextcontrol-proofing/txspellchecker/create-method/llms-full.txt) method. [Create Your First Windows Forms Application](https://docs.textcontrol.com/tx-spell-dotnet-winforms/getting-started/tx-text-control/first-application/llms-full.txt) shows the steps, and [Checking Multiple Controls](https://docs.textcontrol.com/tx-spell-dotnet-winforms/spell-checking/multiple-controls/llms-full.txt) how several editors share one spell checker.

In the designer, the **SpellChecker** property of the `TextControl` offers the spell checker of the form in its drop-down:

![The Properties window of textControl1 with the drop-down of the SpellChecker property open, offering (none) and txSpellChecker1.](https://docs.textcontrol.com/assets/img/tx-spell-dotnet-winforms/properties-spellchecker-fx.ce30bf88.webp)

From then on, the editor underlines misspelled words and opens the spell check menu with a right-click, here in four editors that share one spell checker:

![Four TextControls on one form, each with red underlines, and the context menu of a misspelled word with suggestions, Ignore, Ignore All, Add to Dictionary, Spell Check Dialog and Options.](https://docs.textcontrol.com/assets/img/tx-spell-dotnet-winforms/four-textcontrols-context.0b87ecfe.webp)

The two products are installed and licensed separately. TX Spell .NET 11.0 was released together with TX Text Control 33.0, and this documentation uses it with TX Text Control .NET for Windows Forms 34.0. Plan upgrades of both together, as [Update Together With TX Text Control](https://docs.textcontrol.com/tx-spell-dotnet-winforms/whats-new/breaking-changes/#update-together-with-tx-text-control) describes.

### What Each Member Does

| Member of TX Text Control | With TX Spell .NET | Read |
|---|---|---|
| [IsSpellCheckingEnabled](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/textcontrol/isspellcheckingenabled-property/llms-full.txt) | Underlines misspelled words as the user types | [As-You-Type Checking](https://docs.textcontrol.com/tx-spell-dotnet-winforms/spell-checking/as-you-type/llms-full.txt) |
| [SpellCheckContextMenuStrip](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/textcontrol/spellcheckcontextmenustrip-property/llms-full.txt) | The menu of a right-click on a misspelled word: the built-in one, none or your own | [Context Menus](https://docs.textcontrol.com/tx-spell-dotnet-winforms/user-interface/context-menus/llms-full.txt) |
| [SpellCheckDialog](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/textcontrol/spellcheckdialog-method/llms-full.txt) | Opens the preconfigured spelling dialog of TX Text Control | [Checking on Demand](https://docs.textcontrol.com/tx-spell-dotnet-winforms/spell-checking/on-demand/llms-full.txt) |
| [MisspelledWords](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/textcontrol/misspelledwords-property/llms-full.txt) | The misspelled words of the text part with the input focus | [Incorrect Words and Suggestions](https://docs.textcontrol.com/tx-spell-dotnet-winforms/spell-checking/suggestions/llms-full.txt) |
| [TextParts](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/textcontrol/textparts-property/llms-full.txt) | The main text, headers, footers and text frames, each with its misspelled words | [Checking Text Parts](https://docs.textcontrol.com/tx-spell-dotnet-winforms/spell-checking/text-parts/llms-full.txt) |
| [IsHyphenationEnabled](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/textcontrol/ishyphenationenabled-property/llms-full.txt) and [HyphenateWord](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/textcontrol/hyphenateword-event/llms-full.txt) | Hyphenates the last word of a line, and lets your code change where | [Hyphenation with TX Text Control](https://docs.textcontrol.com/tx-spell-dotnet-winforms/hyphenation/tx-text-control/llms-full.txt) |
| [IsLanguageDetectionEnabled](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/textcontrol/islanguagedetectionenabled-property/llms-full.txt) | Detects a language for all text with a neutral language | [Language Detection](https://docs.textcontrol.com/tx-spell-dotnet-winforms/dictionaries/language-detection/llms-full.txt) |
| [LanguageDialog](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/textcontrol/languagedialog-method/llms-full.txt) | Sets the language of the selected text, which decides the dictionaries | [Multilingual Documents and Language Scopes](https://docs.textcontrol.com/tx-spell-dotnet-winforms/dictionaries/multilingual/llms-full.txt) |
| [ThesaurusDialog](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/thesaurusdialog/llms-full.txt) | The Thesaurus Dialog, with synonyms for the selected word | [Synonyms in the Context Menu](https://docs.textcontrol.com/tx-spell-dotnet-winforms/synonyms/context-menu/llms-full.txt) |
| [TextContextMenuOpening](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/textcontrol/textcontextmenuopening-event/llms-full.txt) | Lets your code extend a context menu, for example with synonyms | [Synonyms in the Context Menu](https://docs.textcontrol.com/tx-spell-dotnet-winforms/synonyms/context-menu/llms-full.txt) |
| [RibbonProofingTab](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol-windows-forms-ribbon/ribbonproofingtab/llms-full.txt) | The **Proofing** tab of the ribbon: spell checking, hyphenation, thesaurus, dictionaries, language | [Open the Spell Check Dialog](https://docs.textcontrol.com/tx-spell-dotnet-winforms/getting-started/tx-text-control/dialog/llms-full.txt), [Synonym Lists](https://docs.textcontrol.com/tx-spell-dotnet-winforms/synonyms/lists/llms-full.txt) |

The misspelled words of TX Text Control are [MisspelledWord](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/misspelledword/llms-full.txt) objects. Besides the members the pages above describe, the [MisspelledWordCollection](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/misspelledwordcollection/llms-full.txt) has an [Ignore](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/misspelledwordcollection/ignore-method/llms-full.txt) method, which replaces the text of a misspelled word with the text you pass and marks it as ignored, so that it loses its underline, and the enumeration [MisspelledWordKind](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/misspelledwordkind/enumeration/llms-full.txt) filters the collection by normal, duplicate and ignored words.

### Members of TX Spell .NET for TX Text Control

Some members of TX Spell .NET take a `TextControl` or its misspelled words:

- **[SpellCheckDialog](https://docs.textcontrol.com/tx-spell-dotnet-winforms/reference/txtextcontrol-proofing/txspellchecker/spellcheckdialog-property/llms-full.txt)** of the spell checker opens the customizable dialog of TX Spell .NET with `Show(textControl1)`; [Checking on Demand](https://docs.textcontrol.com/tx-spell-dotnet-winforms/spell-checking/on-demand/llms-full.txt) compares it with the dialog of TX Text Control.
- **[GetMenuItems](https://docs.textcontrol.com/tx-spell-dotnet-winforms/reference/txtextcontrol-proofing/txspellchecker/getmenuitems-method/llms-full.txt)** creates the items of a spell check menu for a misspelled word of the `TextControl`; see [Context Menus](https://docs.textcontrol.com/tx-spell-dotnet-winforms/user-interface/context-menus/llms-full.txt).
- **[MisspelledWordChanging](https://docs.textcontrol.com/tx-spell-dotnet-winforms/reference/txtextcontrol-proofing/txspellchecker/misspelledwordchanging-event/llms-full.txt)** fires when the dialog or a menu of TX Spell .NET changes a misspelled word; see [Events](https://docs.textcontrol.com/tx-spell-dotnet-winforms/spell-checking/events/llms-full.txt).
- **[SpellingCorrectionUIProvider](https://docs.textcontrol.com/tx-spell-dotnet-winforms/reference/txtextcontrol-proofing/txspellchecker/spellingcorrectionuiprovider-property/llms-full.txt)** connects a correction interface of your own to the `TextControl`; see [Spelling Correction Modes and UI Provider](https://docs.textcontrol.com/tx-spell-dotnet-winforms/spell-checking/correction-modes/llms-full.txt).

### Minimum Versions

TX Text Control 17.0 introduced the connection: the `SpellChecker` property, the spell check dialog and the context menu of misspelled words. The other features followed with the TX Spell .NET version that brought them. Current versions support all of them:

| Feature | TX Text Control | TX Spell .NET |
|---|---|---|
| Hyphenation | 20.0 | 4.0 |
| Language detection | 21.0 | 5.0 |
| Thesaurus | 25.0 | 7.0 |

### Another Spell Checker

The event [SpellCheckText](https://docs.textcontrol.com/tx-text-control-dotnet-winforms/reference/txtextcontrol/textcontrol/spellchecktext-event/llms-full.txt) of the `TextControl` passes each piece of text to check to your code, which returns the misspelled words; it is the hook for a spell checker other than TX Spell .NET. It is raised only when no spell checker is connected: with TX Spell .NET, TX Text Control handles it internally.

### Next Steps

- [Create Your First Windows Forms Application](https://docs.textcontrol.com/tx-spell-dotnet-winforms/getting-started/tx-text-control/first-application/llms-full.txt): connect the two products in a new project.
- [RichTextBox and TextBox](https://docs.textcontrol.com/tx-spell-dotnet-winforms/integration/richtextbox/llms-full.txt): TX Spell .NET without TX Text Control.
- [TX Text Control .NET Server Document Editor](https://docs.textcontrol.com/tx-spell-dotnet-winforms/integration/document-editor/llms-full.txt): spell checking in the browser.

---

## Nearby

- **Previous:** [Integration Guide](https://docs.textcontrol.com/tx-spell-dotnet-winforms/integration/llms-full.txt)
- **Next:** [RichTextBox and TextBox](https://docs.textcontrol.com/tx-spell-dotnet-winforms/integration/richtextbox/llms-full.txt)
