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

问题描述 投票:0回答:5

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

c# winforms textbox spell-checking
5个回答
14
投票

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

这允许您在工具箱中找到 ElementHost。通过使用 ElementHost,您可以在 WinForms 项目中使用 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;

7
投票

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

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


1
投票

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


1
投票

我知道旧链接,但 Buzzzzz 是正确的。 WinForms 无法做到这一点,但创建 wpf 文本框或 Richtext 框控件并将其添加到 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 彼此之间并不是那么友好,如果出现红线波浪线,您将必须进行编译以删除它们。


-1
投票

基本上,您只需将

SpellCheck.IsEnabled
属性设置为“true”即可。像这样:

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

您可以在

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

using System.Windows.Controls;

社论:如果您可以探索的话,我会强烈建议使用

WPF
而不是
Winforms
Winforms
曾经有过辉煌,但对于更现代的开发,
WPF
是一个更强大的平台。

© www.soinside.com 2019 - 2024. All rights reserved.