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

时间:2014-05-23 16:15:40

标签: c# winforms textbox spell-checking

我正在Visual Studio 2012中创建一个C#Windows窗体应用程序。我想添加一个带有拼写检查功能的文本框。你能解释一下这个过程吗?

5 个答案:

答案 0 :(得分:11)

如果您使用的是.net4,则可以将参考 System.Xaml WindowsFormsIntegration 添加到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;

答案 1 :(得分:6)

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

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

答案 2 :(得分:1)

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

答案 3 :(得分:1)

我知道旧链接,但 Buzzzzzz 是正确的。 WinForms 做不到,但是创建 wpf 文本框或富文本框控件并将其添加到您的 WinForms 中真的很容易。找到告诉文本框进行拼写检查的该死的属性是骗人的,但很严重,

  1. 打开或创建一个新的 winforms 项目,
  2. 然后菜单项目添加新项目,
  3. 点击左边的wpf,然后选择右边的select wpf control **闪光,屏幕魔法,如果你不熟悉 WPF,你就会看到奇怪的布局,
  4. 选择工具,
  5. 选择 wpf 文本框,拖放,BAM,如果您是新手,调整大小会有点反复试验。
  6. 也添加引用 WindowsBase、WindowsFormIntegration、UIAutomationProvider。
  7. 如果尚未添加,则添加 PresentationCore 和 PresentationFramework,应该已添加新内容。哦,也许 System.Xaml 但我认为它也是自动的。
  8. 保存并重建。

现在您的工具箱中有一个控件,您可以随意命名它。从工具箱中拖放控件即可。要与之交谈,默认值将是 userControl1.TextBox.Text

哦,差点忘了。 Winforms 和 WPF 彼此之间并不是那么友好,如果出现红线波浪线,您必须进行编译以删除它们。

答案 4 :(得分:-1)

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

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

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

using System.Windows.Controls;

编辑:我会强烈建议使用WPF而不是Winforms,如果这是您可以探索的选项。 Winforms只有一天,但为了更现代化的发展,WPF是一个更强大的平台。