Réduire une application WinForm dans la barre d'état au démarrage
Problème
Création d'une application WinForm ce qui peut être réduit au plateau est simple. Cependant, les tentatives de démarrage de l'application dans un état réduit entraînent l'apparition de l'application dans la boîte de dialogue Alt-Tab avec sa barre de titre parfois visible.
Solution
Pour empêcher le application d'être visible au démarrage, la méthode SetVisibleCore() peut être remplacée. Cela implique :
protected override void SetVisibleCore(bool value) { if (!allowVisible) { value = false; if (!this.IsHandleCreated) CreateHandle(); } base.SetVisibleCore(value); }
Ici,allowVisible est un indicateur défini pour indiquer quand l'application doit être visible (par exemple, lorsque l'utilisateur clique sur "Afficher" dans le menu contextuel NotifyIcon). Si allowVisible est false, le paramètre value est défini sur false pour empêcher le formulaire d'être visible. Cependant, si le handle du formulaire n'a pas été créé, il doit l'être avant de définir la valeur sur false.
De plus, pour empêcher l'application de se fermer lorsque l'utilisateur double-clique sur l'icône de la barre des tâches, la méthode OnFormClosing peut être overridden :
protected override void OnFormClosing(FormClosingEventArgs e) { if (!allowClose) { this.Hide(); e.Cancel = true; } base.OnFormClosing(e); }
Ici,allowClose est un indicateur défini pour indiquer quand l'application doit être fermée (par exemple, lorsque l'utilisateur clique sur "Quitter" dans le menu contextuel NotifyIcon). Si allowClose est faux, le formulaire est masqué et la propriété e.Cancel est définie sur true pour empêcher la fermeture de l'application.
Remarque supplémentaire
L'événement Load pour le formulaire principal ne se déclenchera pas tant que le formulaire ne sera pas affiché pour la première fois. Par conséquent, toute initialisation doit être effectuée dans le constructeur du formulaire plutôt que dans le gestionnaire d'événements Load.
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!