如何在C#Windows窗体应用程序中激活拼写检查?

我在Visual Studio 2012中制作了一个C#Windows窗体应用程序。我想添加一个带有拼写检查function的文本框。 你能解释一下它的流程吗?

如果您使用的是.net4,则可以将References System.XamlWindowsFormsIntegration添加到Winforms项目中。

这允许您在工具箱中找到ElementHost 。 通过使用ElementHost,您可以在Winfroms项目中使用WPF对象。

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; 

Windows窗体文本框中没有内置的拼写检查function。

您可以做的最好的事情可能是在表单中嵌入一个WPF文本框。 Hans Passant在这篇关于如何实现这一目标的post中给出了一个非常彻底的答案。

没有WinFormsfunction。 但是,如果要将其重用为文本框,请创建WPF UserControl并在其中放置WPF TextBox。 启用拼写检查。 如果您拖放元素主机一次,它将自动添加必要的引用,之后,您将能够在工具箱中看到您的用户控件。 一旦usercontrol可见,您只需拖放它,它将自动为您创建一个元素主机并将wpf usercontrol放入其中。

基本上,您只需将SpellCheck.IsEnabled属性设置为“true”即可。 像这样:

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

您可以在System.Windows.Controls命名空间中找到此属性,并像这样引用它:

 using System.Windows.Controls; 

编辑:我强烈建议Winforms使用WPF ,如果这是一个你可以探索的选项。 Winforms曾经有过一天,但对于更现代化的开发, WPF是一个更强大的平台。