を使用してフォームを表示しています。このフォームでは、ユーザーがフォーム領域の外をクリックしたときにこのフォームを閉じたいため、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);
}
DING
このコードは期待どおりに機能しますが、ユーザーがフォーム領域の外をクリックするたびに Windows がサウンドを再生するという小さな問題が 1 つありDING
ます。
UPDATE
からのアドバイスを使用して、このフォームを思い通りに機能させることができましたが、を使用する場合、Hassan Mujtaba
これをミュートする方法はまだわかりません。DING
Form.ShowDialog