c# - 如何在用户单击外部窗体时静音 "DING"声音?

标签 c# winforms winforms-interop

我正在使用 Form.ShowDialog() 显示一个表单,在这个表单中我覆盖了 void WndProc(ref Message m) 因为我想关闭这个表单当用户在表单区域外单击时。

    private const int WM_NCACTIVATE = 0x0086;
    protected override void WndProc(ref Message m)
    {
        switch (m.Msg)
        {
            case WM_NCACTIVATE:
                if (_canClose) // when user click outside form, close form
                    this.Close(this, EventArgs.Empty);
                break;
            default:
                break;
        }

        base.WndProc(ref m);
    }

这段代码按我的预期工作,但有一个小问题,每次用户在窗体区域外单击时,Windows 都会播放 DING 声音,我想“静音”此 DING 时此代码已处理。

更新

根据 Hassan Mujtaba 的建议,我设法让这个表单按我想要的方式工作,但我仍然想知道如果我使用 如何使这个 DING 静音窗体.ShowDialog.

DateRange Control

最佳答案

使用 Form.Show() 而不是 Form.ShowDialog() 将解决问题。

关于c# - 如何在用户单击外部窗体时静音 "DING"声音?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8090539/

相关文章:

c# - 复合键 Entity Framework 中的自动增量 ID

c# - 无法加载 DLL “OraOps10.dll”

C# 如何在不改变原文件名的情况下复制文件

c# - 将 System.IO.Stream 转换为 java.io.InputStream

c# - 重构重复的 Lambda 表达式

c# - 有没有一种简单的方法来获取选中列表框中特定项目的坐标?

c# - 将字符串转换为 double : input string was not in a correct format

c# - 如何在 Windows 应用程序中显示进度条?

c# - 所选文本未显示在 WPF 窗口中的 Windows 窗体 RichTextBox 控件中