我正在使用 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
最佳答案
使用 Form.Show() 而不是 Form.ShowDialog() 将解决问题。
关于c# - 如何在用户单击外部窗体时静音 "DING"声音?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8090539/