Have fun! Check out http://msdn.microsoft.com/en-us/library/system.windows.controls.spellcheck.aspx
It's a bit sorry that the SpellCheck class only seems to apply to a text control. It seems you thus need a texbox (even if only a temporary one) to spell check any piece of text.
Much like the 2nd alternative in this thread's 1st answer:
http://stackoverflow.com/questions/14541038/spellcheck-class-in-code-behindWish MS opened a method like Hunspell's Spell, i.e. send it a string and have it check that. There must obviously be something like that in the class itself, it's probably just marked as private.
Anyhow, if this is meant for AutoCAD, you probably want something more in-line with that. I.e. using ACad's built-in spell checker. Especially since the notes in a usual drawing would have all sorts of acronyms and product names, most of which would show as spelling errors. At least using acad's DctCust dictionary there's a chance that the user already added these. But again, a wall faces us. The Developer help states that ACad's spelling engine is not accessible through DotNet:
http://docs.autodesk.com/ACD/2010/ENU/AutoCAD%20.NET%20Developer%27s%20Guide/index.html?url=WS1a9193826455f5ff2566ffd511ff6f8c7ca-3a52.htm,topicNumber=d0e37779So again, this would mean you need to temporarily make a text object with the string, then run the spell command on it an note the difference. Why should it be so difficult?
At least you can read the DctCust file into something like a hash-"array" (i.e. something like a Dictionary<string, object>, just leave object = null in all cases, then just use the ContainsKey method) - should be faster than even a sorted list. The "dict".cus file is just a text file with an item per line, so it shouldn't be too difficult to parse.