Bonjour,
J'ai un Winform MDI avec une barre de menu à partir de laquelle j'ouvre d'autre pages winform dans ma page MDI.
Cependant lorsque je clique 2 fois sur un bouton de ma barre de menu il m'ouvre 2 fois la même page.
Comment faire. Merci
Bonjour,
J'ai un Winform MDI avec une barre de menu à partir de laquelle j'ouvre d'autre pages winform dans ma page MDI.
Cependant lorsque je clique 2 fois sur un bouton de ma barre de menu il m'ouvre 2 fois la même page.
Comment faire. Merci
salut
il te faudrait 1 instance de ta fenetre et faire un Show plutot qu'un
new TaForm() suivi d'un show()
The Monz, Toulouse
The Monz, Toulouse
Expertise dans la logistique et le développement pour
plateforme .Net (Windows, Windows CE, Android)
Stp pourais tu t'expliquer un peu parce que je suppose que pour la premiere fois qu'on clique sur le menu elle :
La deuxieme fois elle fait quoi?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 maform2 fr = new maform2(); fr.Show();
si tu as mis ceci dans un bouton :
A chaque fois que tu cliques sur un bouton tu crée une nouvelle form et tu l'affiches.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 maform2 fr = new maform2(); fr.Show();
Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.
salut
il faut que maForm soit un membre de la classe et non une variable declaré localement dans le handler de l'evenement
Ensuite, dans la fonction activée sur le clique , il suffit de faire un test sur le fait que maForm != null ou pas... si pas null, on peut tester si elle est visible, et si ce n'est pas le cas, la rendre visible sinon on ne fait rien.. Et si elle n'existe pas, on la crée comme dans l'exemple que tu as proposé
The Monz, Toulouse
The Monz, Toulouse
Expertise dans la logistique et le développement pour
plateforme .Net (Windows, Windows CE, Android)
Ok! voila là j'ai bien compris. reste a savoir si l'auteur du sujet l'est aussi lol
lol j'ai cru que tu étais l'auteur du post.
Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.
if (Application.OpenForms["gestion_des_articles"] == null)
{
gestion_des_articles f = new gestion_des_articles();
f.MdiParent = this;
f.Show();
}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 foreach (Form form in Application.OpenForms) if (form is maform2) form.BringToFront(); else { maform2 fr = new maform2() { MdiParent = this}; fr.Show(); }
Les fautes d'orthographes sus-citées sont déposées auprès de leurs propriétaires respectifs. Aucune responsabilité n'est engagée sur la lisibilité du message ou les éventuels dommages qu'il peut engendrer.
Sinon l'utilisation d'un singleton permet de régler ce problème, non ?
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager