ホームページ >バックエンド開発 >C++ >WPF モーダル ダイアログで [閉じる] ボタンを非表示にする方法

WPF モーダル ダイアログで [閉じる] ボタンを非表示にする方法

Susan Sarandon
Susan Sarandonオリジナル
2024-12-30 15:35:15590ブラウズ

How to Hide the Close Button in a WPF Modal Dialog While Retaining the

Wpf ウィンドウで閉じるボタンを非表示にする

WPF モーダル ダイアログでは、ウィンドウの上部にある閉じるボタンを非表示にしたい場合があります。ただし、タイトルバーはそのままにしておきます。ただし、既存の ResizeMode、WindowState、および WindowStyle プロパティはいずれも両方の要件を満たしていません。 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);

次に、ウィンドウの Loaded イベントに次のコードを追加します。

var hwnd = new WindowInteropHelper(this).Handle;
SetWindowLong(hwnd, GWL_STYLE, GetWindowLong(hwnd, GWL_STYLE) & ~WS_SYSMENU);

上記を実行します。 code その後、閉じるボタンは非表示になります。これはボタンを非表示にするだけであり、ウィンドウを閉じるショートカット キー (Alt F4) は引き続き機能することに注意してください。ユーザーがウィンドウを閉じないようにする必要がある場合は、Gabe が提案したメソッドを使用して OnClosing イベントをオーバーライドし、Cancel を true に設定します。

以上がWPF モーダル ダイアログで [閉じる] ボタンを非表示にする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。