我正在创建一个聊天窗口,我想在用户按下TextBox上的Enter键时发送消息。 但我也想让用户使用Ctrl + Enter键输入换行符。
问题是,当我设置AcceptsReturn = True并且用户按下Enter键时,KeyBox会在TextBox附加换行符后触发,因此发送的消息总是包含换行符。有没有办法在仍允许Ctrl + Enter时禁用Enter键?
我想出了最丑陋的方式,就是当按下Enter键时首先删除光标前的字母,然后处理它。但是有更好的方法吗?
答案 0 :(得分:4)
我不能100%确定您的要求,因此您可能需要稍微处理这些代码,但您应该能够通过设置e.Handled
property {{3}}来做您想做的事情。 1}}到KeyEventArgs
。根据链接页面,这个:
获取或设置一个值,该值指示路由事件在路由中传递时事件处理的当前状态。
用简单的英语,这意味着我们可以阻止它进一步使用。尝试这样的事情:
false