【发布时间】:2014-07-15 07:46:33
【问题描述】:
我正在制作一个聊天窗口,我想在用户按下文本框上的 Enter 键时发送消息。 但我也想让用户使用 Ctrl+Enter 键输入换行符。
问题是当我设置 AcceptsReturn=True 并且用户按下 Enter 键时,KeyDown 事件会在 TextBox 附加换行符后触发,因此发送的消息将始终在末尾包含换行符。有没有办法在仍然允许 Ctrl+Enter 的同时禁用 Enter 键?
我想出了最丑的办法,就是在按下回车键的时候先把光标前的字母去掉,然后再处理。但是有没有更好的方法?
【问题讨论】:
-
OnPreviewKeyDown-->e.Handled = true,或者类似的东西。 -
很好地弄清楚这是一种丑陋的方式并想知道更好的方式。迈向优秀程序员方向的一步