Monday, January 14, 2013

i00 Spell Check and Control Extensions, Stand alone, no third party components, offline... and free (and in VB too!)

CodeProject - i00 Spell Check and Control Extensions - No Third Party Components Required!

I wanted a spell check that I could use in .NET, so like most people would have done, I Googled. After many hours of fruitless searching, I decided to make my own; sure there are plenty of spell checkers out there, but I didn't want one that relied on 3rd party components such as Word or require Internet connectivity to work. Introducing i00 .NET Spell Check, the first and only VB.NET Spell Check written completely in VB! Not only that, it is also open source, and easy to use.

Eventually, this project progressed even further into a generic control extension plugin that provides plugins for text box printing, translation, speech recognition and dictation plus more; while also providing a simple method for users to write their own extensions.






The included projects and a brief description of each are as follows:

i00SpellCheck - Contains the classes for the spellcheck core / TextBox and DataGridView plugins plus the core components required for other plugins to work

Plugins\LabelPlugin - Contains a plugin that checks the spelling of Labels

Plugins\OSControlRenderer - Contains aplugin that renders the TreeView and ListViews to the same that they appear in Windows

Plugins\SelectedControlHighlight - Contains a plugin that extends a variety of Controls so that they appear to have a "glow" when selected

Plugins\TextBoxPrinter - Contains a plugin that extends TextBoxBase to support printing

Plugins\TextBoxSpeechRecognition - Contains a plugin that extends TextBoxBase to include support for voice input (double tap F12) and dictation

Plugins\TextBoxTranslator - Contains a plugin that extends TextBoxBase to support Google Translation





  • Added engine to make more generic control extensions
  • Changed the workings of SpellCheckControlBase to use the more generic control extensions
  • Default dictionary load is now threadded even when just calling .SpellCheck
  • Control extensions can now specify multiple ControlTypes
  • Put the TextBoxBase change case feature into its own control extension
  • Put the nicer TextBoxBase context menu into its own control extension
  • Made the window animations smoother and more stable for F7 etc
  • Control extensions can now be dependant on other control extensions (like references but within control extensions)


  • Added TextBoxPrinter plugin


  • Added buttons to trigger dictate and speech
  • Custom Karaoke rendering control added to test form
  • Now uses the new, more generic, control extension rather than extending SpellCheckTextBox
  • Speech is no longer "broken up" at the end of each line in Windows 8


  • Added OSControlRenderer plugin


  • Added SelectedControlHighlight plugin


  • Added TextBoxTranslator plugin

While written a couple years ago, the author continues to improve this library. And while Windows 8 has spell checking baked into the OS (finally) not everyone is on it yet (No, really! Some people are holding out and staying on Win7 for now! Yeah, I know... :P )

And I also know there's still a number of WinForm fans out there, let alone VB fan Dev's, so this is like a three for free post!

A nice touch are the C# examples. While written in VB, of course you can use it from C# app's too and having C# examples will help.

No comments: