WPF Windows で閉じるボタンを非表示にする
WPF アプリケーションでモーダル ダイアログを作成すると、タイトル バーを保持しながら閉じるボタンを非表示にすることがよくあります。 WPF にはこの特定の目的のための組み込みプロパティがありませんが、P/Invoke とイベント処理を組み合わせて使用して閉じるボタンを非表示にすることができます。
閉じるボタンを非表示にするには、まず必要な宣言を追加します。
private const int GWL_STYLE = -16; private const int WS_SYSMENU = 0x80000; [DllImport("user32.dll", SetLastError = true)] private static extern int GetWindowLong(IntPtr hWnd, int nIndex); [DllImport("user32.dll")] private static extern int SetWindowLong(IntPtr hWnd, int nIndex, int dwNewLong);
次に、Windows の Loaded イベントで、次のコードを実行します。
var hwnd = new WindowInteropHelper(this).Handle; SetWindowLong(hwnd, GWL_STYLE, GetWindowLong(hwnd, GWL_STYLE) & ~WS_SYSMENU);
This
重要な考慮事項
このメソッドは閉じるボタンを非表示にしますが、ユーザーの操作を妨げるものではないことに注意してください。 Alt F4 を押すか、タスクバーからアプリケーションを閉じるなどの代替手段でウィンドウを閉じます。
特定の条件が満たされる前にウィンドウが閉じることを完全に防ぐには、 OnClosing イベントをオーバーライドし、Cancel を true に設定することをお勧めします。これを P/Invoke テクニックと組み合わせて実行すると、ウィンドウ クロージャを無効にするための完全なソリューションが提供されます。
以上がWPF ウィンドウで閉じるボタンを保持したまま非表示にするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。