How to activate spellCheck in C# Windows Form Application?

那年仲夏 提交于 2019-11-27 23:04:15

If you are using .net4 you can add the References System.Xaml and WindowsFormsIntegration to your Winforms project.

This allows you to find the ElementHost in you Toolbox. By using the ElementHost you can use WPF objects in your Winfroms project.

System.Windows.Forms.Integration.ElementHost elementHost1 = new System.Windows.Forms.Integration.ElementHost();
System.Windows.Controls.TextBox textBox = new System.Windows.Controls.TextBox();
textBox.SpellCheck.IsEnabled = true;
elementHost1.Child = textBox;
julealgon

There is no built-in spellcheck capability on the Windows Forms textbox.

The best thing you can do is probably embed an WPF textbox in your form. Hans Passant gives a very thorough answer in this post on how to achieve that.

There is no WinForms capability for that. But, if you want to reuse it as a text box, Create a WPF UserControl and put a WPF TextBox in there. enable spell check. If you drag and drop an element host once, it will automatically add necessary references, after that, you will be able to see your user controls in the toolbox. once the usercontrol is visible, all you have to do is drag and drop it, it will automatically create an element host for you and put the wpf usercontrol in it.

Basically, you just need to set the SpellCheck.IsEnabled property to 'true'. Like this:

TextBox textBox = new TextBox();
textBox.SpellCheck.IsEnabled = true;

You can find this property in the System.Windows.Controls namespace, and reference it like this:

using System.Windows.Controls;

Editorial: I would strongly suggest using WPF over Winforms if that is an option you can explore. Winforms had its day once, but for more modern development, WPF is a much more powerful platform.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!