请教下怎么在winform做出类似输入法的效果。
C#,Winform
需求:
类似输入法那种弹出框,选择内容,将内容添加到当前光标的位置。
具体:
在程序的任意一个可输入的地方,按下特定字符(例如“VJM”),就弹出一个层,层内包含数据列表。
输入其他字符时根据字符动态改变层内的数据。可以上下键、鼠标等进行选择,选择后将选择的内容添加到当前光标的位置。
光标要一直保持在第一次按下VJM的地方。
现在用程序监听键盘消息,但是在处理的时候出现了一些问题:
1:怎么判断 是否连续按下了VJM?(单独判断一个字符已经实现了)
2:弹出的数据层用 control还是form呢?哪种比较适合这种悬浮框的场景?
请问上面两个问题怎么处理比较合适?
已经实现了监听单个按键;弹出层现在试了两种,一种实例化一个列表控件定位在输入框的下方,另一种是弹出一个form,但是这两种效果都有各种问题。所以来请教下大神们,万分感谢!