当用户点击外部表格时如何静音“DING”声音?

时间:2011-11-11 06:45:38

标签: 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

UPDATE

我设法根据Hassan Mujtaba的建议,使此表单正常工作,但如果我使用DING,我仍然想知道如何将此Form.ShowDialog静音。

DateRange Control

1 个答案:

答案 0 :(得分:2)

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