【问题标题】:spell checking richtextbox in winforms projectwinforms项目中的拼写检查richtextbox
【发布时间】:2020-12-07 01:30:14
【问题描述】:

我有一个 WinForms 项目,其中包含一个用 VB 编写的 RichTextBox (RTB)
我在 RTB 中设置了 ShortcutsEnabled = FALSE
要使用任何拼写检查器,我猜这需要设置为 TRUE

这不是我的问题!我阅读的时间比我愿意承认的要多得多
了解如果您有 ASP.Net 或 WPF 项目,拼写检查很容易
好吧,我不这么认为,这里是 NuGet 的三个候选人,这些候选人都没有提供太多帮助
WeCantSpell.HunspellVPKSoft.SpellCheckUtilityNetSpell

我不是在寻求推荐
因为我找不到教程并且对如何使用代码实现这些插件一无所知
以及不知道它们是否与 WinForms 兼容
我什至看了这个CP帖
CP LINK

只是建议如何使用这些插件之一或如何向 RTB 添加拼写检查?

【问题讨论】:

标签: vb.net winforms richtextbox spell-checking


【解决方案1】:

要实现拼写检查,可以试试 Nuget Package NHunspell

首先,您需要从“NuGet”添加“NHunspell”并导入。具体操作如下:

右键单击参考并选择“管理 NuGet 包...”,然后在搜索栏中输入“NHunspell”并安装它:

第二步,你需要像这样创建一个文件夹来存放“.aff”和“.dic”。

下载包含相应文件的“zip”,即可访问this site

这是一个你可以参考的演示。

Private Sub btCheck_Click(sender As Object, e As EventArgs) Handles btCheck.Click
    Dim affFile As String = AppDomain.CurrentDomain.BaseDirectory & "../../Dictionaries/en_us.aff"
    Dim dicFile As String = AppDomain.CurrentDomain.BaseDirectory & "../../Dictionaries/en_us.dic"
    lbSuggestion.Items.Clear()
    lbmorph.Items.Clear()
    lbStem.Items.Clear()

    Using hunspell As New Hunspell(affFile, dicFile)
        Dim correct As Boolean = hunspell.Spell(TextBox1.Text)
        checklabel.Text = TextBox1.Text + " is spelled " & (If(correct, "correct", "not correct"))

        Dim suggestions As List(Of String) = hunspell.Suggest(TextBox1.Text)
        countlabel.Text = "There are " & suggestions.Count.ToString() & " suggestions"
        For Each suggestion As String In suggestions
            lbSuggestion.Items.Add("Suggestion is: " & suggestion)
        Next

        Dim morphs As List(Of String) = hunspell.Analyze(TextBox1.Text)
        For Each morph As String In morphs
            lbmorph.Items.Add("Morph is: " & morph)
        Next

        Dim stems As List(Of String) = hunspell.Stem(TextBox1.Text)
        For Each stem As String In stems
            lbStem.Items.Add("Word Stem is: " & stem)
        Next
    End Using
End Sub

结果,

希望对你有帮助。

【讨论】:

  • 月亮在我的地球一侧高所以将在太阳一侧进行测试查看代码我假设您使用了文本框并且您的代码仍然可以使用富文本框吗?不确定分析词和词干是关于什么需要了解 .aff 文件是什么感谢您抽出宝贵时间提供详细答案
  • You LINK for a dictionary is a little short words 我在 JavaFX 项目中一直在使用此过程,并花了很多时间搜索免费词典github.com/dwyl/english-wordswords_alpha.txt 和字典。 txt 提供更多单词
猜你喜欢
  • 2011-02-12
  • 1970-01-01
  • 1970-01-01
  • 2011-07-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多