如何在我的应用程序中找出播放“Ding”的内容

时间:2009-08-28 09:56:27

标签: c# .net winforms

每当我关闭特定的上下文菜单并更改特定ToolStrip TextBox中的值时,我的应用程序将播放“默认蜂鸣声”(Windows Ding.wav)

我逐行浏览了我的代码,直到听到“丁”但我找不到任何东西。

如何找出使我的申请成为“丁”的原因?

修改
事实证明,这并不像我想象的那么简单(我怀疑是一个胭脂MessageBox或其他东西)。 ding只在我的Vista上播放,我的同事告诉我它不会在他的XP上播放。

2 个答案:

答案 0 :(得分:2)

您可以在Visual Studio中调试程序,并在 System.Media.SystemSound.Play 方法上设置断点。当断点命中时,查看当前的调用堆栈以查看调用该方法的内容。

断点可以通过Visual Studio的“断点”窗口设置,不要忘记将语言设置为“未知”,否则IDE将找不到该功能。

答案 1 :(得分:1)

每当您在表单上按Enter键时,默认行为是执行Accept(AKA OK)按钮的单击事件。如果没有定义OK按钮,则发出Beep,因为不能执行默认操作。

要覆盖此哔声,您可以:

1.-在表单上定义“接受”按钮。 2.-处理TextBox上的按键事件,检查是否按下了ENTER或RETURN键并设置了e.handled = True

如果选项2然后注意它只适用于TextBoxes,则其他控件中的ENTER如果不在那里处理则会引起Beep。

此致

MarianoC