Skip to main content
 首页 » 编程设计

c#之如何防止 WinForms TextBox 中按下 alt 键时发出蜂鸣声

2024年05月29日13itcoder

我正在创建一个例程,允许用户将键盘快捷键复制到文本框中以进行“自定义键盘快捷键”自定义,但每次按下 alt 键和另一个字母时,它都会发出另一种声音。

我正在捕获 textbox_keydown 事件中的键,以将修饰符 + 其他键解析为可读的 Shift + A 或 Ctrl + Shift + B 方式放入同一个文本框中。我应该在不同的事件中执行此操作,例如 textbox_previewkey 而不是 textbox_keydown 吗?如何防止 alt 修饰键 + 字母或数字引起蜂鸣声?

该文本框只是一个普通的 .net 3.5 文本框,其唯一可编辑的属性是将 ReadOnly 属性设置为 false。有没有更好的方法可以让我重新执行此操作?

我目前只是检查是否按下了任何修饰键,然后按 + a-z 或 0-9,然后继续将相应按下的键输入到同一文本框中,例如 Shift + A 或 Ctrl + Shift + Y。

请您参考如下方法:

处理TextBox的KeyDown事件,例如使用 void HandleKeyDown(object source, KeyEventArgs e) 并在内部输入: if (e.Alt) e.SuppressKeyPress = true;.

(也适用于 Return 键)