Maison > développement back-end > C++ > Comment puis-je masquer le bouton de fermeture dans une fenêtre WPF tout en conservant le

Comment puis-je masquer le bouton de fermeture dans une fenêtre WPF tout en conservant le

Mary-Kate Olsen
Libérer: 2025-01-01 12:06:11
original
562 Les gens l'ont consulté

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

Masquer le bouton de fermeture dans Windows WPF

Question : Comment puis-je masquer le bouton de fermeture d'une fenêtre WPF tout en conservant une barre de titre normale ?

WPF ne dispose pas d'une option intégrée pour supprimer le bouton de fermeture du titre d'une fenêtre bar. Cependant, cela peut être réalisé en utilisant P/Invoke :

Code :

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);

// In the Window's Loaded event
var hwnd = new WindowInteropHelper(this).Handle;
SetWindowLong(hwnd, GWL_STYLE, GetWindowLong(hwnd, GWL_STYLE) & ~WS_SYSMENU);
Copier après la connexion

Ce code masque le bouton de fermeture, ainsi que l'icône de la fenêtre et le menu système.

Remarque : Cette approche masque uniquement le bouton. La fenêtre peut toujours être fermée à l'aide de raccourcis clavier ou en fermant l'application.

Pour empêcher la fenêtre de se fermer lorsqu'un thread en arrière-plan est en cours d'exécution, remplacez la méthode OnClosing et définissez Cancel sur true :

protected override void OnClosing(CancelEventArgs e)
{
    e.Cancel = true;
}
Copier après la connexion

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!

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