更改焦点时禁用警告/错误提示音

Posted

技术标签:

【中文标题】更改焦点时禁用警告/错误提示音【英文标题】:Disable warning/error beep when changing focus 【发布时间】:2009-11-26 23:03:12 【问题描述】:

每当我将焦点从一个文本框更改为另一个文本框时,它都会发出令人讨厌的警告/错误哔声。

例子:

public void textBox1_KeyPress(object sender, KeyPressEventArgs e)  
  
    if (e.KeyChar == (char)Keys.Return)  
        textBox2.Focus();  
  

每当我按 Enter 时,它都会将焦点更改为 textBox2 并发出警告声。

任何禁用此功能的帮助将不胜感激。 谢谢。

【问题讨论】:

【参考方案1】:

我认为您想将e.Handled = true 添加到事件处理程序中:

public void textBox1_KeyPress(object sender, KeyPressEventArgs e)

    if (e.KeyChar == (char)Keys.Return)
    
        textBox2.Focus();
        e.Handled = true;
    

侧节点:您应该能够使用KeyCode 而不是KeyChar 属性,避免强制转换:

public void textBox1_KeyPress(object sender, KeyPressEventArgs e)

    if (e.KeyCode == Keys.Return)
    
        textBox2.Focus();
        e.Handled = true;
    

【讨论】:

【参考方案2】:

e.SuppressKeyPress = true;

【讨论】:

以上是关于更改焦点时禁用警告/错误提示音的主要内容,如果未能解决你的问题,请参考以下文章

Java 错误提示音

禁用 Carbon Emacs 滚动提示音

linux 怎么去除错误提示音。请告诉我,详细步骤。

win7系统,经常发出错误提示音,但是啥都没有提示,求解

更改焦点时不读取辅助功能提示

Git 存储库克隆错误(终端提示已禁用)