Vb.net RichTextBox拼写检查器

Vb.net RichTextBox拼写检查器,vb.net,winforms,rtf,spell-checking,Vb.net,Winforms,Rtf,Spell Checking,我已经添加了对表示框架的引用,以在我的WinForms应用程序.NET 4.0中的RichTextBox控件上启用拼写检查支持。我试过了 Windows.Controls.SpellCheck.SetIsEnabled(rtf) 及 但在这两种情况下,VS都抱怨RTB不是TextBoxBase类的后代,尽管MSDN文档声称RTB是TextBoxBase类的后代我不确定您是如何添加对表示框架的引用的,但是请记住,您发布的链接引用了WPF代码,因此获得此功能的最佳方法是创建WPF应用程序。

我已经添加了对表示框架的引用,以在我的WinForms应用程序.NET 4.0中的RichTextBox控件上启用拼写检查支持。我试过了

Windows.Controls.SpellCheck.SetIsEnabled(rtf)    


但在这两种情况下,VS都抱怨RTB不是TextBoxBase类的后代,尽管MSDN文档声称RTB是TextBoxBase类的后代

我不确定您是如何添加对表示框架的引用的,但是请记住,您发布的链接引用了WPF代码,因此获得此功能的最佳方法是创建WPF应用程序。如果您这样做,您将看到RichTextBox和TextBox都具有拼写检查属性。啊,我明白了,所以我可以使用ElementHost,而不是使用WPF的特定风扇。虽然,总的来说,最好不要把事情搞混;如果您对各种WPF功能感兴趣,也许您应该考虑创建WPF应用程序的选项。或者,您甚至可以向项目中添加一些WPF部件,或者使用所需的控件创建一个dll,并从项目中引用它们。您可能会发现一个有趣的链接:.NET的一个定义特性就是形成它的不同语言之间的兼容性。一件事是充分利用经过全面测试和验证的通用.NET兼容性规则,并在项目中添加两种不同的语言;另一件事是依赖于一个特定的、相对较新的特性ElementHost。如前所述,我从未尝试过,也不确定它的可靠性,但我会先使用第一种选择:要么完全依赖WPF,要么结合winforms和WPF部件。
Windows.Controls.SpellCheck.SetIsEnabled(DirectCast(rtf, Windows.Controls.Primitives.TextBoxBase), True)