Comment utiliser Application.OpenForms

Le
raleur
Bonjour à tous

Je dois permettre d'ouvrir une fenêtre d'options dans mon application, mais je viens de remarqer que
l'utilisateur peut ouvrir plus d'une fois cette même fenêtre. Et après une recherche sur le net, je
vois qu'il faut utiliser Application.OpenForms pour detecter si ma fenètre d'options est déjà
ouverte. Mais je ne vois pas trop comment l'utiliser.

merci par avance
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
raleur
Le #12158201
raleur a écrit :
Bonjour à tous

Je dois permettre d'ouvrir une fenêtre d'options dans mon application,
mais je viens de remarqer que l'utilisateur peut ouvrir plus d'une fois
cette même fenêtre. Et après une recherche sur le net, je vois qu'il
faut utiliser Application.OpenForms pour detecter si ma fenètre
d'options est déjà ouverte. Mais je ne vois pas trop comment l'utiliser.

merci par avance


Je pose ma question autrement alors, comment je fais pour savoir q'une form est déjà ouverte

merci
Gilles TOURREAU [MVP]
Le #12158191
"raleur" news:47a43db7$0$883$
raleur a écrit :
Bonjour à tous

Je dois permettre d'ouvrir une fenêtre d'options dans mon application,
mais je viens de remarqer que l'utilisateur peut ouvrir plus d'une fois
cette même fenêtre. Et après une recherche sur le net, je vois qu'il faut
utiliser Application.OpenForms pour detecter si ma fenètre d'options est
déjà ouverte. Mais je ne vois pas trop comment l'utiliser.

merci par avance


Je pose ma question autrement alors, comment je fais pour savoir q'une
form est déjà ouverte

merci




Il existe plusieurs possibilités :

La plus simple :
Si votre fenêtre options doit être unique (pas de possibilité de
l'instancier plusieurs fois), il faut tout simplement garder une instance
sur celle-ci dans une variable membre quelque part dans votre code...

if (this.maFormOptions != null)
{
this.maFormOptions.Activate();
}
else
{
this.maFormOptions = new OptionsForm();
this.maFormOptions.Show();
}

Ne pas oublier de mettre this.maFormOptions = null, à la fermeture de votre
form.

La solution avec OpenForms :

foreach(Form f in Application.OpenForms)
{
if (f.GetType() == typeof(OptionsForm))
{
//Alors au moins une instance d'OptionsForm est déjà ouverte !
}
}

Cordialement

--
Gilles TOURREAU - MVP C#


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr
Publicité
Poster une réponse
Anonyme