vb.net - winforms项目中的拼写检查richtextbox
问题描述
我有一个 WinForms 项目,其中包含一个用 VB 编写的 RichTextBox (RTB)
我在 RTB 中设置了 ShortcutsEnabled = FALSE
要使用任何拼写检查器,我猜这需要设置为 TRUE
那不是我的问题!我已经阅读的时间比我愿意承认
的要多得多了解如果你有一个 ASP.Net 或 WPF 项目,拼写检查很容易
好吧我不知道,所以这里是来自 NuGet 的三个候选人这些候选人都没有提供太多帮助
WeCantSpell.Hunspell和VPKSoft.SpellCheckUtility和NetSpell
我不是在寻求推荐
因为我找不到教程并且对如何用代码实现这些插件一无所知
以及不知道它们是否与 WinForms 兼容
我什至查看了这篇 CP 帖子
CP LINK
只是建议如何使用这些插件之一或如何向 RTB 添加拼写检查?
解决方案
要实现拼写检查,您可以尝试 Nuget Package NHunspell
。
首先,您需要从“NuGet”添加“NHunspell”并导入它。具体操作如下:
右键单击 Reference 并选择“Manage NuGet Packages...”,然后在搜索栏中键入“NHunspell”并安装它:
第二步,你需要像这样创建一个文件夹来存储“.aff”和“.dic”。
下载包含相应文件的“zip”,即可访问本站。
这是一个你可以参考的演示。
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
结果,
希望这可以帮到你。
推荐阅读
- python - 在 Python 中获取 Google 搜索的最佳结果
- database - 设置 TDengine 集群的正确步骤是什么?
- python - 运行 github 代码时出现错误 zsh: 非法硬件指令 python data_coco.py coco_setup
- excel - 从 powerpivot 提取动态数据
- python - 我无法在 python 程序上播放声音,我收到此错误
- ssh - 如何使 ansible 重用 SSH 会话,而不是为每个任务创建一个新会话?
- json - JSON 模式中的条件引用
- android - 如何在 ViewModel 中为数据类参数 LiveData 设置初始化和设置值
- c# - 在使用 C# 制作的 Raspberry Pi 上运行 Windows 窗体应用程序
- c# - 在 C# 中使用其他用户模拟创建(主)文件夹并设置文件夹权限