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
509 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!

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