ホームページ > バックエンド開発 > C++ > WPF ウィンドウで閉じるボタンを保持したまま非表示にするにはどうすればよいですか?

WPF ウィンドウで閉じるボタンを保持したまま非表示にするにはどうすればよいですか?

Barbara Streisand
リリース: 2025-01-03 09:11:39
オリジナル
467 人が閲覧しました

How Can I Hide the Close Button in a WPF Window While Still Preserving the

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート