User Dictionary
Domain-specific terms, abbreviations, and other words absent from the general-purpose dictionary are flagged by inline spell checking, and a document full of part numbers, legal terms, or a customer's name will light up with squiggles on nearly every one of them. The user dictionary fixes that: it lets a user add such a word once and never see it flagged again, in this session or a later one, without you touching the dictionary file shipped with your app. This page shows how to enable the feature, point it at a writable file, and what the user sees when they add a word.
What the user sees
When inline spell checking flags a word, the user right-clicks it. The suggestion context menu appears, and below the suggested corrections is an entry labelled Add to Dictionary. Selecting it removes the squiggle immediately, persists the word to a file, and prevents the word from being flagged again, even in a later session.

Turning the feature on
Two settings on SpellCheckOptions control this: one enables the menu entry, the other sets the file path where words are stored. A common pattern uses each user's Windows profile folder so the dictionary follows them across workstations:
RecordEditor.SpellCheckOptions.EnableUserDictionary = true; var perUserFile = System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "VetRecords", "spellcheck-user-dictionary.txt"); RecordEditor.SpellCheckOptions.DictionaryFile.UserDictionaryFilePath = perUserFile;RecordEditor.SpellCheckOptions.EnableUserDictionary = True Dim perUserFile = System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "VetRecords", "spellcheck-user-dictionary.txt") RecordEditor.SpellCheckOptions.DictionaryFile.UserDictionaryFilePath = perUserFileThe file is plain text, one word per line, created on first save if it does not exist. Back it up by copying the file, or pre-seed it with existing shorthand for new users.

Localizing the menu label
The Add to Dictionary label can be overridden, for example to localize it:
RecordEditor.SpellCheckOptions.AddToDictionaryText = "Agregar al diccionario";The same property is the hook for any rebrand - a customer that wants the menu to read Add to Company Glossary only needs to change one string.
Using a custom spell-check engine
When a custom spell-check engine is used instead of the built-in one (see Using a Custom Spell-Check Engine), the file-path setting is irrelevant. The Add to Dictionary menu still appears, but the editor calls AddToUserDictionary(string word) on the custom engine instead. Whether the word is persisted to a local file, sent to a remote API, or held only in memory for the session is up to the engine implementation. The end-user experience - right-click, click, squiggle gone - is identical.