c# – 在文本框中处理Shift-Enter事件
发布时间:2020-12-15 19:56:58 所属栏目:百科 来源:网络整理
导读:我想要一个文本框,用户可以在其中切换 – 输入或按住ctrl-enter添加换行符而不提交.我发现以下关于如何进行ctrl-enter的帖子 http://social.msdn.microsoft.com/forums/en-US/wpf/thread/67ef5912-aaf7-43cc-bfb0-88acdc37f09c 效果很好!所以我添加了自己的
我想要一个文本框,用户可以在其中切换 – 输入或按住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! } 除了现在该框正在捕获其他移位组合,例如问号和波浪形大括号,然后添加换行符.我需要更改什么来防止这种情况发生? 解决方法
我不会和WinForms混在一起.尝试:
<TextBox KeyDown="TextBox_KeyDown" /> 使用此事件处理程序: private void TextBox_KeyDown(object sender,KeyEventArgs e) { if (e.Key == Key.Enter) { if (Keyboard.Modifiers.HasFlag(ModifierKeys.Control)) { MessageBox.Show("Control + Enter pressed"); } else if (Keyboard.Modifiers.HasFlag(ModifierKeys.Shift)) { MessageBox.Show("Shift + Enter pressed"); } } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |