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.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
raleur
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
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
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]
"raleur" a écrit dans le message de 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
"raleur" <kaabache.nadjim@wanadoo.fr> a écrit dans le message de
news:47a43db7$0$883$ba4acef3@news.orange.fr...
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 !
}
}
"raleur" a écrit dans le message de 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