wpf 中文输入法回车事件和控件的回车事件冲突问题

来源:互联网 发布:hive元数据存储设计 编辑:程序博客网 时间:2024/05/29 08:20

现象就是,一个textbox 当是中文输入法的时候,比如搜狗,输入一个字母a,直接按回车,同时会触发textbox的回车事件。导致直接发送消息了。

原因就是中文输入法的回车事件 , 大多数输入法都是在keydown中完成输入过程。所以如果回车提交是在keyup事件中的话就会出现输完字后直接触发回车键提交,从而产生冲突问题。

解决办法就是:

把控件的回车事件改为KeyDown或者PreviewKeyDown中捕获,这时候当keydown事件发生的时候是在输入法上,而不会发生在提交框的发送事件上,进而解决了冲突。

RichTextBox同样适用。


0 0
原创粉丝点击