Cacher la fenêtre principale au démarrage

Résolu
Signaler
Messages postés
25
Date d'inscription
samedi 22 octobre 2005
Statut
Membre
Dernière intervention
28 août 2007
-
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Membre
Dernière intervention
20 juin 2013
-
Salut,

J'ai un problème qui se pose souvent mais que je n'ai jamais réussi à résoudre de façon "propre"... Comment faire pour que la fenêtre principale d'une appli Windows Forms se cache au démarrage ? (je veux juste avoir l'icone de notification dans la barre des tâches)
Idéalement, ce qu'il me faudrait, c'est une valeur "Hidden" pour la propriété WindowState, malheureusement ce n'est pas prévu...
La meilleure solution que j'ai trouvé pour l'instant, c'est de faire this.Hide() dans l'évènement Shown, mais la fenêtre apparait brièvement, ce que j'aimerais éviter...
Une idée pour faire ça proprement ?

Merci d'avance !

9 réponses

Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Membre
Dernière intervention
20 juin 2013
58
Salut,
Tu peux faire quelques chose comme ceci:

frmTest f =
new
frmTest();
f.Hide();

Application.Run();

Attention cependant, tu devras gérer la fermeture du programme manuellement, elle n'est plus automatique.

<hr />
-Blog-
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
97
Salut,

Oui, c'est grosso modo ce que j'ai fait sur cette source : http://www.csharpfr.com/codes/COQTEXTTOOLS-TRANSFORMATIONS-TEXTE-SIMPLE-UTILISATION-ANTIXSSLIBRARY_42522.aspx

/*
coq
MVP Visual C#
CoqBlog
*/
Messages postés
25
Date d'inscription
samedi 22 octobre 2005
Statut
Membre
Dernière intervention
28 août 2007

Effectivement ça marche nickel, merci !
Messages postés
1160
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
21 octobre 2010
18
il est plus simple de cacher la form dans levent load pour éviter davoir a gérer la fermeture du programme manuellement

Pour un programmeur en langage objet, la lutte des classes c'est tous les jours.
Messages postés
25
Date d'inscription
samedi 22 octobre 2005
Statut
Membre
Dernière intervention
28 août 2007

Non, j'avais essayé de le faire dans le Load, ça ne marche pas, parce que l'évènement Load est déclenché avant que la fenêtre ne soit affichée, et donc il doit y avoir un appel à Show quelque part quand tu fais Application.Run(form)
Messages postés
1160
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
21 octobre 2010
18
dsl j'ai dis une connerie, cest pas dans le load mais dans le activated. Il suffit de faire un hide puis de se désabonner
Messages postés
25
Date d'inscription
samedi 22 octobre 2005
Statut
Membre
Dernière intervention
28 août 2007

En fait le résultat est le même qu'en cachant la fenêtre dans l'évènement Shown : elle apparait quand même brièvement au démarrage...
Merci quand même !
Messages postés
1160
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
21 octobre 2010
18
alors au démarrage de la fenêtre, met la en taille 1,1 et borderstyle.non avant de la hide, elle n'apparaitra pas ;)
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Membre
Dernière intervention
20 juin 2013
58
leprov> ouais mais ça c'est du gros bricolage.
Gérer la fermeture de la forme, c'est pas si compliqué que ça, il suffit de faire un Application.Exit ou Application.ExitThread. Bien plus propre que de donner une taille de (1,1)

<hr />
-Blog-