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();
}