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

  • What's Next for ASP.NET Core and Blazor

    Since its inception as an intriguing experiment in leveraging WebAssembly to enable dynamic web development with C#, Blazor has evolved into a mature, fully featured framework. Integral to the ASP.NET Core ecosystem, Blazor offers developers a unique combination of server-side rendering and rich client-side interactivity.

  • Nearest Centroid Classification for Numeric Data Using C#

    Here's a complete end-to-end demo of what Dr. James McCaffrey of Microsoft Research says is arguably the simplest possible classification technique.

  • .NET MAUI in VS Code Goes GA

    Visual Studio Code's .NET MAUI workload, which evolves the former Xamarin.Forms mobile-centric framework by adding support for creating desktop applications, has reached general availability.

  • Visual Studio Devs Quick to Sound Off on Automatic Updates: 'Please No'

    A five-year-old Visual Studio feature request for automatic IDE updates is finally getting enacted by Microsoft amid a lot of initial developer pushback, seemingly misplaced.

  • First Official OpenAI Library for .NET Goes Beta

    Although it seems Microsoft and OpenAI have been deeply intertwined partners for a long time, they are only now getting around to releasing an official OpenAI library for .NET developers, joining existing community libraries.

Subscribe on YouTube