Heim > Backend-Entwicklung > C++ > Wie kann ich die Schaltfläche „Schließen' in einem WPF-Fenster ausblenden und gleichzeitig die beibehalten?

Wie kann ich die Schaltfläche „Schließen' in einem WPF-Fenster ausblenden und gleichzeitig die beibehalten?

Barbara Streisand
Freigeben: 2025-01-03 09:11:39
Original
467 Leute haben es durchsucht

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

Ausblenden der Schaltfläche „Schließen“ in WPF-Fenstern

In WPF-Anwendungen erfordert das Erstellen modaler Dialoge häufig das Ausblenden der Schaltfläche „Schließen“ unter Beibehaltung der Titelleiste. Während in WPF keine integrierten Eigenschaften für diesen speziellen Zweck vorhanden sind, ist es möglich, die Schaltfläche „Schließen“ mithilfe einer Kombination aus P/Invoke und Ereignisbehandlung zu verbergen.

Um die Schaltfläche „Schließen“ zu unterdrücken, fügen Sie zunächst die erforderlichen Deklarationen hinzu:

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);
Nach dem Login kopieren

Führen Sie als Nächstes im Loaded-Ereignis des Fensters den folgenden Code aus:

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

Dadurch wird die Schaltfläche zum Schließen ausgeblendet mit dem Fenstersymbol und dem Systemmenü.

Wichtige Überlegungen

Beachten Sie, dass diese Methode zwar die Schaltfläche zum Schließen verbirgt, Benutzer jedoch nicht daran hindert, das Fenster auf andere Weise zu schließen B. Alt F4 drücken oder die Anwendung über die Taskleiste schließen.

Um das Schließen des Fensters vollständig zu verhindern, bevor eine bestimmte Bedingung erfüllt ist, wird empfohlen, das OnClosing-Ereignis zu überschreiben und setzen Sie „Cancel“ auf „true“. Dies kann in Verbindung mit der P/Invoke-Technik erfolgen, um eine vollständige Lösung zum Deaktivieren des Fensterschließens bereitzustellen.

Das obige ist der detaillierte Inhalt vonWie kann ich die Schaltfläche „Schließen' in einem WPF-Fenster ausblenden und gleichzeitig die beibehalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage