为什么按 Ctrl+“+”会在文本框中产生蜂鸣声?

2024-04-01

我正在与C# and Windows Forms并想使用Ctrl+"Oemplus"作为一个函数key对于我的申请。我用一个German keyboard该键位于字母 P 右侧 2 个键(即“+”)。每当我按下此键与Ctrl重点是TextBox我听到一声蜂鸣声。
当我切换到US keyboard布局(仍然使用我的German keyboard)。这就是] key.
当按下此键时会发生同样的情况Internet Explorers地址栏。 我的问题是:

  1. 为什么此组合键会在文本框中产生蜂鸣声。
  2. 如何避免蜂鸣声?

感谢您为此付出的一切努力。
Update:
我在美国/泰语键盘上尝试过,也听到了蜂鸣声。无论我使用什么逻辑键盘布局(德语、美国、泰语),都会发生这种情况。
Windows 资源管理器中的地址栏也会发出蜂鸣声,但搜索框中不会发出蜂鸣声。


当您按下该键时,目前还不清楚您希望发生什么。 TextBox 毫无疑问,它发出嘟嘟声!因为它可以看到用户正在尝试做一些特别的事情,但它并不确切知道what。给你发出嘟嘟声的好理由。解决方案是在下一个片段的 //.. 注释中实现魔法。使用额外的代码来停止最后的蜂鸣声:

    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;
        }
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么按 Ctrl+“+”会在文本框中产生蜂鸣声? 的相关文章

随机推荐