Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何防止在WinForms文本框中按alt键时发出嘟嘟声?_C#_Winforms - Fatal编程技术网

C# 如何防止在WinForms文本框中按alt键时发出嘟嘟声?

C# 如何防止在WinForms文本框中按alt键时发出嘟嘟声?,c#,winforms,C#,Winforms,我正在创建一个例程,允许用户将键盘快捷键复制到文本框中进行“自定义键盘快捷键”自定义,但每次用另一个字母按下alt键时,都会产生另一种声音 我正在捕获textbox_keydown事件中的键,以将修饰符+其他键解析为可读的Shift+a或Ctrl+Shift+B方式,并将其解析为同一个文本框。我是否应该在不同的事件(如textbox\u previewkey而不是textbox\u keydown)中执行此操作?如何防止alt modifier键+字母或数字导致蜂鸣音 文本框只是一个普通的.ne

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

我正在捕获textbox_keydown事件中的键,以将修饰符+其他键解析为可读的Shift+a或Ctrl+Shift+B方式,并将其解析为同一个文本框。我是否应该在不同的事件(如textbox\u previewkey而不是textbox\u keydown)中执行此操作?如何防止alt modifier键+字母或数字导致蜂鸣音

文本框只是一个普通的.net 3.5文本框,其唯一编辑的属性是只读属性,设置为false。有没有更好的办法让我重做


我目前正在检查是否按下了任何修改器键,然后按下+a-z或0-9,然后继续将适当按下的键输入到同一文本框中,如Shift+a或Ctrl+Shift+Y。

您需要设置
e.Handled=true
为了防止击键冒泡。

忽略,我能够通过从一开始就抑制键码而解决问题,而不会影响其正常功能。以下是我使用的:

e.SuppressKeyPress = (e.KeyCode == e.KeyCode);

处理文本框的KeyDown事件,例如使用void HandleKeyDown(对象源,KeyEventArgs e)和内部输入:
if(e.Alt)e.SuppressKeyPress=true


(也适用于返回键)

您意识到这与说e.SuppressKeyPress=true相同,对吗?除非
KeyCode
返回
double.Nan
;)+你的问题和回答对我很有用。谢谢。如果方法调用中有一个消息框,则可能无法按预期工作。看,嗨,我也有同样的问题,e.Handled=true没有解决问题。e、 SuppressKeyPress=true成功了。