在C#中捕获键盘笔划

Suj*_*osh 2 c# keyboard capture keydown

HI,

我有以下问题 - 以下文本位于富文本框中.

今天世界是[[精彩]].

如果用户在之前和之后提供两个括号,如精彩的情况,括号中的单词,在这种情况下,精彩将变为链接(绿色).

我在获得击键顺序方面遇到了问题,即.我如何知道用户已输入[[,所以我可以开始解析其后的文本的其余部分.

我可以通过手动KeyDown,事件和列表来获取它,但它看起来并不优雅.

请让我知道应该采用什么方法.

谢谢,Sujay

i_a*_*orf 5

你有两种我可以想到的方法.

一个是,正如你的建议,用列表维持当前状态 - 这个键是一个括号吗?最后一个关键是支架? - 并在运行中更新.

另一种方法是简单地处理TextChanged事件并重新扫描[[text-here]]模式的文本并根据需要进行更新.

第一个需要更多的簿记,但对于更长的文本会更快.第二种方法更容易,可以用一个像样的正则表达式完成,但随着文本变长,它会变慢.如果你知道你有一些上限,比如256个字符,那你就可以了.但如果你期待小说,可能不是一个好主意.