# Share a Single TXSpellChecker Instance Across Multiple TextControls

> TX Spell .NET enables sharing a single TXSpellChecker instance across multiple TextControl components in a Windows Forms application. Dictionaries and user dictionaries load once and propagate to all connected controls, reducing memory usage and keeping spelling corrections synchronized.

- **Author:** Bjoern Meyer
- **Published:** 2013-02-19
- **Modified:** 2026-03-05
- **Description:** TX Spell .NET enables sharing a single TXSpellChecker instance across multiple TextControl components in a Windows Forms application. Dictionaries and user dictionaries load once and propagate to all connected controls, reducing memory usage and keeping spelling corrections synchronized.
- **1 min read** (193 words)
- **Tags:**
  - Tutorial
- **Web URL:** https://www.textcontrol.com/blog/2013/02/19/share-a-single-txspellchecker-instance-across-multiple-textcontrols/
- **LLMs URL:** https://www.textcontrol.com/blog/2013/02/19/share-a-single-txspellchecker-instance-across-multiple-textcontrols/llms.txt
- **LLMs-Full URL:** https://www.textcontrol.com/blog/2013/02/19/share-a-single-txspellchecker-instance-across-multiple-textcontrols/llms-full.txt

---

A very helpful unique feature of TX Spell .NET is the possibility to share a single instance of the spell checker with all loaded dictionaries and user dictionaries with multiple *TextControls*. This saves a lot of resources as the dictionaries are shared as well.

TX Spell .NET can handle multiple dictionaries at the same time and those are usable with all connected *TextControls* automatically. Another advantage are shared user dictionaries. You don't have to load a user dictionary for each *TextControl* and changes that are made in one instance are used by all others immediately.

The following Form contains a *TextControl* and a public *TXSpellChecker* reference that is specified in the Form's constructor:

```
public partial class SpellWindow : Form
{
    private TXTextControl.Proofing.TXSpellChecker m_TXSpellChecker;

    public SpellWindow(TXTextControl.Proofing.TXSpellChecker TXSpellChecker)
    {
        m_TXSpellChecker = TXSpellChecker;
        InitializeComponent();
    }

    private void SpellWindow_Load(object sender, EventArgs e)
    {
        textControl1.SpellChecker = m_TXSpellChecker;
        textControl1.IsSpellCheckingEnabled = true;
    }
}
```

The following code shows the shared *TXSpellChecker* instance and how to open the *SpellWindow* Form by passing the single *TXSpellChecker* instance:

```
TXTextControl.Proofing.TXSpellChecker txSpellChecker1 =
    new TXTextControl.Proofing.TXSpellChecker();

private void button1_Click(object sender, EventArgs e)
{
    SpellWindow spellWindow = new SpellWindow(txSpellChecker1);
    spellWindow.Show();
}
```

---

## About Bjoern Meyer

As CEO, Bjoern is the visionary behind our strategic direction and business development, bridging the gap between our customers and engineering teams. His deep passion for coding and web technologies drives the creation of innovative products. If you're at a tech conference, be sure to stop by our booth - you'll most likely meet Bjoern in person. With an advanced graduate degree (Dipl. Inf.) in Computer Science, specializing in AI, from the University of Bremen, Bjoern brings significant expertise to his role. In his spare time, Bjoern enjoys running, paragliding, mountain biking, and playing the piano.

- [LinkedIn](https://www.linkedin.com/in/bjoernmeyer/)
- [X](https://x.com/txbjoern)
- [GitHub](https://github.com/bjoerntx)

---

## Related Posts

- [Windows Forms Tutorial: Create Your First Windows Forms C# Application](https://www.textcontrol.com/blog/2024/08/26/windows-forms-tutorial-create-your-first-windows-forms-csharp-application/llms.txt)
- [How to Mail Merge MS Word DOCX Documents in ASP.NET Core C#](https://www.textcontrol.com/blog/2023/10/16/how-to-mail-merge-ms-word-docx-documents-in-aspnet-core-csharp/llms.txt)
- [Creating an Angular Document Editor Application with a Node.js WebSocket Server](https://www.textcontrol.com/blog/2023/08/24/creating-an-angular-document-editor-application-with-a-nodejs-websocket-server/llms.txt)
- [Adding SVG Watermarks to Documents](https://www.textcontrol.com/blog/2022/01/28/adding-svg-watermarks-to-documents/llms.txt)
- [Using MailMerge in ASP.NET Core 6 Web Applications](https://www.textcontrol.com/blog/2022/01/27/using-mailmerge-in-aspnet-core-6-web-applications/llms.txt)
- [DocumentViewer for React Prerelease](https://www.textcontrol.com/blog/2020/10/27/document-viewer-for-react-prerelease/llms.txt)
- [New DocumentViewer Signature Tutorial Sample](https://www.textcontrol.com/blog/2020/08/18/new-documentviewer-signature-tutorial-sample/llms.txt)
- [Creating an ASP.NET MVC DocumentViewer Application With Razor](https://www.textcontrol.com/blog/2020/01/01/creating-an-aspnet-mvc-documentviewer-application-with-razor/llms.txt)
- [Creating Your First Windows Forms Application with C#](https://www.textcontrol.com/blog/2020/01/01/creating-your-first-windows-forms-application-with-csharp/llms.txt)
- [Creating Your First WPF Application](https://www.textcontrol.com/blog/2020/01/01/creating-your-first-wpf-application/llms.txt)
- [Creating a WPF Ribbon Application](https://www.textcontrol.com/blog/2020/01/01/creating-a-wpf-ribbon-application/llms.txt)
- [Integrate Document Editing into any HTML Client using the HTML Widget](https://www.textcontrol.com/blog/2020/01/01/integrate-document-editing/llms.txt)
- [Creating an ASP.NET MVC Application With Razor](https://www.textcontrol.com/blog/2020/01/01/creating-an-aspnet-mvc-application-with-razor/llms.txt)
- [Creating A Windows Forms Ribbon Application](https://www.textcontrol.com/blog/2020/01/01/creating-a-windows-forms-ribbon-application/llms.txt)
- [Creating Your First ASP.NET Reporting Application](https://www.textcontrol.com/blog/2020/01/01/creating-your-first-aspnet-reporting-application/llms.txt)
- [Creating an ASP.NET Web Forms AJAX Application](https://www.textcontrol.com/blog/2020/01/01/creating-an-aspnet-web-forms-ajax-application/llms.txt)
- [Creating a WebSocket Server Project with Node.js](https://www.textcontrol.com/blog/2020/01/01/creating-a-websocket-server-project-with-nodejs/llms.txt)
- [Creating an Angular Document Editor Application](https://www.textcontrol.com/blog/2020/01/01/creating-an-angular-document-editor-application/llms.txt)
- [ReportingCloud .NET Core Quickstart Tutorial](https://www.textcontrol.com/blog/2019/07/24/reportingcloud-dotnet-core-quickstart-tutorial/llms.txt)
- [Document Permissions and Password Encryption](https://www.textcontrol.com/blog/2019/07/05/document-permissions-and-password-encryption/llms.txt)
- [New Online Sample: Build your First Report](https://www.textcontrol.com/blog/2019/07/03/build-your-first-report/llms.txt)
- [Create your First Document with ReportingCloud](https://www.textcontrol.com/blog/2019/02/19/create-your-first-document-with-reportingcloud/llms.txt)
- [MailMerge: Starting Each Merge Block on a New Page](https://www.textcontrol.com/blog/2016/09/09/mailmerge-starting-each-merge-block-on-a-new-page/llms.txt)
- [Windows Forms and WPF: End a List on Return when Line is Empty](https://www.textcontrol.com/blog/2016/08/26/windows-forms-and-wpf-end-a-list-on-return-when-line-is-empty/llms.txt)
- [Using IFormattedText Objects to Access Elements Across All TextParts in a Document](https://www.textcontrol.com/blog/2016/08/25/using-iformattedtext-objects-to-access-elements-across-all-textparts-in-a-document/llms.txt)
