2012-09-14 24 views
1

我目前正在开发一个C#桌面应用程序,它是一个带有单词预测功能的简单虚拟键盘。C#键盘和单词预测

预测过程将在输入单词的前三个字母后开始,然后提供建议。我需要在输入时跟踪插入符号,并尝试使用如SelectionChanged这样的richTextBox事件,但它需要手动进行正则表达式检查和位置跟踪(声明变量...)。

我的问题:有没有什么建议可以帮助我完成这项任务?听众呢?他们有帮助吗?

注意:我对.NET框架没有太长的经验,我以前没有使用过Listeners。

另请注意,输入法是眼睛注视!这意味着非关键事件将起作用!

谢谢。

+0

这将在WPF或WinForms? –

+0

OSK.exe(屏幕键盘)有什么问题? – Nick

+0

@尼克也许没有完成/建议? –

回答

0

这将在WPF或WinForms?我将如下解决这个问题。也许不是最快的方式,但值得去尝试,直到你有别的东西。

RTB的OnKeyDown事件检查最后一个字符是否为空格。如果没有从最后一个空格获得整个单词并检查单词列表并更新屏幕上的列表。

检查光标在您的单词中的位置,只是按照上面的方法进行操作,并尝试获取当前单词而不是特定键的索引。

+0

由于用户将使用他的眼睛注视,因此无法使用OnKeyDown!所以没有关键事件会起作用,这是我面临的主要问题。我所能做的就是处理插入位置,对吗? – user1671222

+0

ohh如果RTB内有FlowDocument,您可以[获取CaretPosition](http://msdn.microsoft.com/zh-cn/library/system.windows.controls.richtextbox.caretposition.aspx) –