Démarrage d'une application WinForm réduite dans la barre d'état
Lors de la création d'une application WinForm qui est réduite dans la barre d'état, vous pouvez rencontrer des problèmes pour démarrer l'application minimisé. Cela peut entraîner des artefacts visibles dans la barre de titre ou un comportement inapproprié lors du lancement de l'application.
Problème : l'application est réduite mais apparaît dans la tabulation Alt
Pour résoudre ce problème, modifiez le FormBorderStyle à l'une des options ToolWindow. Cependant, cela peut introduire un nouveau problème où la barre de titre devient temporairement visible lors du lancement de l'application réduite.
Solution : Remplacer SetVisibleCore()
L'approche recommandée pour démarrer le app minimisée sans aucun artefact visible consiste à remplacer la méthode SetVisibleCore(). Voici une implémentation :
protected override void SetVisibleCore(bool value) { if (!allowVisible) { value = false; if (!this.IsHandleCreated) CreateHandle(); } base.SetVisibleCore(value); }
Dans cet exemple, l'indicateur allowVisible garantit que le formulaire n'est visible que lorsque l'utilisateur le demande explicitement.
Gérer le formulaire Fermeture
Pour éviter de fermer l'application depuis la barre des tâches ou l'onglet Alt lorsqu'elle est réduite, remplacez le Méthode OnFormClosing() :
protected override void OnFormClosing(FormClosingEventArgs e) { if (!allowClose) { this.Hide(); e.Cancel = true; } base.OnFormClosing(e); }
L'indicateur allowClose garantit que le formulaire ne se ferme que lorsque l'utilisateur le demande explicitement.
Considérations supplémentaires
Notez que le L'événement Load ne se déclenche pas tant que le formulaire n'est pas affiché pour la première fois. Par conséquent, effectuez l'initialisation 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!