【发布时间】:2017-01-26 21:12:34
【问题描述】:
我想要一个文本框,用户可以在其中 shift-enter 或 ctrl-enter 添加换行符而无需提交。我发现以下关于如何进行 ctrl-enter 的帖子
http://social.msdn.microsoft.com/forums/en-US/wpf/thread/67ef5912-aaf7-43cc-bfb0-88acdc37f09c
效果很好!所以我添加了自己的块来捕获 shift 输入,如下所示:
else if (((keyData & swf.Keys.Shift) == swf.Keys.Shift) && ((keyData & swf.Keys.Enter) == swf.Keys.Enter) && Keyboard.FocusedElement == txtMessage)
{
// SHIFT ENTER PRESSED!
}
除了现在该框正在捕获其他移位组合,例如问号和波浪形大括号,然后添加换行符。我需要改变什么来防止这种情况发生?
【问题讨论】:
-
Julien,一个 TextBox 捕获 {} 和 ?无论如何,默认情况下。您是否推断您的代码块也捕获了这些键?
-
当我写一个问号或花括号时,我的代码添加了一个换行符。抱歉,如果不清楚,我只想用 shift-enter 和 ctrl-enter 来写换行符。
-
您应该小心使用 ctrl-enter。我很确定该组合键的商定操作是“提交”。