0

我正在尝试使某种智能感知看起来像我正在处理的编辑器。当用户在 Richtextbox 中键入并且字母匹配一个单词时,将弹出一个列表视图并选择匹配的单词。

问题是焦点仍然在richtextbox上,所以所有的按键都将转到那个控件,这很好,除了如果有匹配我需要在列表视图中而不是在richtextbox中触发Return和箭头键。

有什么方法可以使用richtextbox 的keypress 事件将这些键发送到列表视图?

谢谢

4

2 回答 2

3

使用scintilla会不会更容易,可以在此处找到 .NET 包装器,它可以满足您的所有需求?

编辑:看起来有人已经这样做了,在你想要实现的目标中,一篇关于它的文章在CodeProject上。

于 2010-01-21T23:47:21.123 回答
1

我认为重点仍然放在richtextbox上是件好事。

如何子类化该列表视图以添加诸如void SelectNext()void SelectPrevious()string PerformCompletion(). 您仅为富文本框处理鼠标事件。如果文本框可见,并且用户按下向下箭头,SelectNext()则调用并吞下按键,但如果不可见,只需向下导航到下一行(让按键通过)。

如果列表视图可见并且用户按 Enter 或 Tab 或 . 或其他,调用PerformCompletion()以获取所选字符串,然后添加尚未输入的任何字符。

于 2010-01-25T23:03:13.957 回答