DyS*_*SoS 3 c# keyboard-shortcuts keyboard-hook winforms
我正在使用C#并Windows Forms希望将Ctrl+"Oemplus"其key用作我的应用程序的功能.我使用a German keyboard,这个键位于字母P右侧的2个键(即"+").每当我按下这个键Ctrl并且焦点在一起时,TextBox我就会发出一声哔哔声.
当我切换到US keyboard布局(仍然使用我的German keyboard)时也会发生这种情况.这就是] key.
在Internet Explorers地址栏中按此键时也会发生同样的情况.我的问题是:
感谢您为此付出的任何努力.
更新:
我在美国/泰国键盘上试了一下,也发出了哔哔声.无论我使用什么逻辑键盘布局(德语,美国,泰国),都会发生这种情况.
蜂鸣声也发生在地址栏中的Windows资源管理器中,但不会出现在搜索框中.
当你按下按键时,你很希望发生什么.TextBox对它毫无疑问,它是BEEP!因为它可以看到用户正在尝试做一些特别的事情,但它并不确切知道是什么.发牢骚的好理由.解决方案是在下一个片段的// ..注释中实现魔术.使用额外的代码来结束最后的哔声:
private void textBox1_KeyDown(object sender, KeyEventArgs e) {
if (e.KeyData == (Keys.Control | Keys.Oemplus)) {
// Invoke magic
//...
// Magic is done now:
e.Handled = e.SuppressKeyPress = true;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1262 次 |
| 最近记录: |