为啥 e.Handled 不停止哔哔声?
Posted
技术标签:
【中文标题】为啥 e.Handled 不停止哔哔声?【英文标题】:Why isn't e.Handled stopping the beeps?为什么 e.Handled 不停止哔哔声? 【发布时间】:2013-11-20 02:25:30 【问题描述】:我的 Visual Studio 2012 项目中有多个文本框和组合框,并且我将 keydown 设置为在按下 Enter 时执行不同的事件。而且,每次都有那种无用的、令人讨厌的哔哔声。我看了一遍,发现 e.Handled = true 和 e.SuppressKeyPress = true 解决方案,他们没有做任何该死的事情。
我的组合框中的代码是:
private void cmbNavigate_KeyDown(object sender, KeyEventArgs e)
if (e.KeyCode == Keys.Enter)
e.SuppressKeyPress = true;
webBrowser1.Navigate(cmbNavigate.Text);
我已经尝试过使用 Suppress 和标准 Handled,但两者都不起作用,它只是一直在嘲笑我。
【问题讨论】:
这是一个默认的 Windows 设置,它让您知道它不是多行的,因此会警告您 Enter 实际上不会让您进入下一行。我知道我可以更改 Windows 中的设置,但这只会帮助我,而不是我的用户。 什么UI框架,Winform,WPF,ASP? 这是一个基本的 Windows 窗体。 在 e.suppressKeyPress=true 中放一个断点,看看你的代码是否到达这里。e.SuppressKeyPress = true;
在 KeyDown() 中杀死了我系统上的哔哔声。在 Win 8.1 x64 上运行 VS2013。就像 Musfiqur rahman 所说的那样,确保您的活动已连接并实际触发。
【参考方案1】:
除了e.SuppressKeyPress = true;
之外,试试e.Handled = true;
【讨论】:
成功了。单独一个都行不通,两个都完成了!谢谢! @AarronDixon 你的代码对我来说工作,甚至不需要e.Handled = true
这只是关于 .NET Framework 的那些奇怪而深奥的事情之一。 :)以上是关于为啥 e.Handled 不停止哔哔声?的主要内容,如果未能解决你的问题,请参考以下文章
SoundPool 和 MediaPlayer 在一段时间后循环播放的哔声停止