In-Depth

Q&A: Use Word's Spell Checker in .NET

Use Word's spell check from within your .NET application.

Q: I have a VB.NET Windows Forms application for which I'd like to add a spell checker when the user adds some text into the Comments textbox. I'd like to raise the spell checker when the control loses the focus and bring up a dialog box that prompts the user with some suggestions for unrecognized words.

A:
If you know that the user has Microsoft Word installed—hardly a rare occurrence—you can use the spell check engine provided by Word. In this case, you can prompt a dialog box that provides the functionalities you're looking for. Moreover, Word uses a reach dictionary when the spell checking mechanism is called.

Begin by adding a reference to the Microsoft Word template library. Fire up Visual Studio .NET, then select Project | Add Reference? and click on the COM tab of the Add Reference dialog box. Next, add the appropriate code into the TextBox control's Leave event (see Listing 1).

You need to launch the Microsoft Word application and create a new document when you copy the text from the TextBox control. Copy this text onto the clipboard using the SetDataObject shared method of the Clipboard class. Next, use the Paste method provided by the Word library's Content object to paste the text into the Word document. Calling the CheckSpelling method brings up the Spelling Checker dialog box. This dialog suggests possible corrections to implement, assuming it finds any words it doesn't recognize (see Figure 1). Finally, copy the document text onto the clipboard again and paste it into the TextBox control.

comments powered by Disqus

Featured

  • VS Code v1.99 Is All About Copilot Chat AI, Including Agent Mode

    Agent Mode provides an autonomous editing experience where Copilot plans and executes tasks to fulfill requests. It determines relevant files, applies code changes, suggests terminal commands, and iterates to resolve issues, all while keeping users in control to review and confirm actions.

  • Windows Community Toolkit v8.2 Adds Native AOT Support

    Microsoft shipped Windows Community Toolkit v8.2, an incremental update to the open-source collection of helper functions and other resources designed to simplify the development of Windows applications. The main new feature is support for native ahead-of-time (AOT) compilation.

  • New 'Visual Studio Hub' 1-Stop-Shop for GitHub Copilot Resources, More

    Unsurprisingly, GitHub Copilot resources are front-and-center in Microsoft's new Visual Studio Hub, a one-stop-shop for all things concerning your favorite IDE.

  • Mastering Blazor Authentication and Authorization

    At the Visual Studio Live! @ Microsoft HQ developer conference set for August, Rockford Lhotka will explain the ins and outs of authentication across Blazor Server, WebAssembly, and .NET MAUI Hybrid apps, and show how to use identity and claims to customize application behavior through fine-grained authorization.

  • Linear Support Vector Regression from Scratch Using C# with Evolutionary Training

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the linear support vector regression (linear SVR) technique, where the goal is to predict a single numeric value. A linear SVR model uses an unusual error/loss function and cannot be trained using standard simple techniques, and so evolutionary optimization training is used.

Subscribe on YouTube