c# – 在文本框中处理Shift-Enter事件

c# – 在文本框中处理Shift-Enter事件,第1张

概述我想要一个文本框,用户可以在其中切换 – 输入或按住ctrl-enter添加换行符而不提交.我发现以下关于如何进行ctrl-enter的帖子 http://social.msdn.microsoft.com/forums/en-US/wpf/thread/67ef5912-aaf7-43cc-bfb0-88acdc37f09c 效果很好!所以我添加了自己的块以捕获shift输入,如下所示: els 我想要一个文本框,用户可以在其中切换 – 输入或按住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");        }    }}
总结

以上是内存溢出为你收集整理的c# – 在文本框中处理Shift-Enter事件全部内容,希望文章能够帮你解决c# – 在文本框中处理Shift-Enter事件所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1225413.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存