フォームを閉じられないようにする 最終更新日 2003年8月7日 0:00 オーバーライドしたWndProcでWM_CLOSEのメッセージを捕獲し、何も処理しないことで無かったことにする。 これにより、×ボタンなどにより閉じることができないフォームを作ることができる。 ただし、別の閉じる方法を提供しなければならない。 C# VB 別ウィンドウで開く すべて選択してコピー ダウンロード 行番号を表示する public class Form1 : System.Windows.Forms.Form { // 途中略 // WndProcメソッドをオーバーライドし // WM_CLOSEメッセージ自体を無視する protected override void WndProc( ref Message m ) { const int WM_CLOSE = 0x10; // ウィンドウを閉じない if ( m.Msg == WM_CLOSE ) { // 閉じる処理をキャンセル m.Result = IntPtr.Zero; } else { base.WndProc( ref m ); } } } 別ウィンドウで開く すべて選択してコピー ダウンロード 行番号を表示する Public Class Form1 Inherits System.Windows.Forms.Form #Region " Windows フォーム デザイナで生成されたコード " #End Region ' WndProcメソッドをオーバーライドし ' WM_CLOSEメッセージ自体を無視する Protected Overrides Sub WndProc(ByRef m As Message) Const WM_CLOSE As Integer = &H10 ' ウィンドウを閉じない If m.Msg = WM_CLOSE Then ' 閉じる処理をキャンセル m.Result = IntPtr.Zero Else MyBase.WndProc(m) End If End Sub End Class