Maison > développement back-end > C++ > Comment masquer le bouton de fermeture dans une boîte de dialogue modale WPF tout en conservant le

Comment masquer le bouton de fermeture dans une boîte de dialogue modale WPF tout en conservant le

Susan Sarandon
Libérer: 2024-12-30 15:35:15
original
601 Les gens l'ont consulté

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

Masquer le bouton de fermeture dans la fenêtre Wpf

Dans la boîte de dialogue modale WPF, nous souhaitons parfois masquer le bouton de fermeture en haut de la fenêtre, mais gardez toujours la barre de titre. Toutefois, aucune des propriétés ResizeMode, WindowState et WindowStyle existantes ne satisfait aux deux exigences. Voici une solution à ce problème en utilisant P/Invoke.

Tout d'abord, ajoutez la déclaration suivante dans la classe window :

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);
Copier après la connexion

Ensuite, mettez le code suivant dans l'événement Loaded de la fenêtre :

var hwnd = new WindowInteropHelper(this).Handle;
SetWindowLong(hwnd, GWL_STYLE, GetWindowLong(hwnd, GWL_STYLE) & ~WS_SYSMENU);
Copier après la connexion

Exécutez ce qui précède code Après cela, le bouton de fermeture sera masqué. Notez que cela masque uniquement le bouton, la touche de raccourci pour fermer la fenêtre (Alt F4) fonctionne toujours. Si vous devez empêcher l'utilisateur de fermer la fenêtre, vous pouvez utiliser la méthode proposée par Gabe pour remplacer l'événement OnClosing et définir Cancel sur true.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal