Winforms

manelfeki Messages postés 19 Date d'inscription vendredi 27 février 2009 Statut Membre Dernière intervention 21 avril 2009 - 13 avril 2009 à 18:24
manelfeki Messages postés 19 Date d'inscription vendredi 27 février 2009 Statut Membre Dernière intervention 21 avril 2009 - 15 avril 2009 à 16:58
salut,
je dans form2 losque je clic surle bouton precedent il m'active la fenetre form1 qu'est deja ouverte.
merci pour votre aide

4 réponses

krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 49
14 avril 2009 à 12:19
Il d'utiliser la méthode !

ça fait quoi quand il manque des mots dans la phrase ? C'est peut-être moins agréable à lire. Merci de te relire avant de poster.
Cependant, voici une réponse : utilise la méthode Activate(); de ta form1.

Krimog :
while (!(succeed = try())) ;
0
manelfeki Messages postés 19 Date d'inscription vendredi 27 février 2009 Statut Membre Dernière intervention 21 avril 2009
14 avril 2009 à 20:28
salut,
je suis dans form2 losque je clic surle bouton precedent il m'active la fenetre form1 qu'est deja ouverte or je veux que le bouton precedent n'ouvre pas une nouvelle copie de la form1.
et de meme pour le bouton suivant( je suis dans form1 losque je clic surle bouton suivant il m'active la fenetre form2 qu'est deja ouverte or je veux que le bouton suivant n'ouvre pas une nouvelle copie de la form2).
je ne sais pas comment utiliser la methode Activate();

merci de m'envoyer un code.
0
krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 49
15 avril 2009 à 10:30
C'est plus précis déjà.

Il y a 2 méthodes pour ça :
La première consiste à passer la référence à ta form1 dans ta form 2, par le constructeur par exemple, et de garder la référence à l'autre fenêtre dans un membre de la classe, puis, en vérifiant qu'il n'est pas null, ouvrir la fenêtre ou en créer une nouvelle :

//form1.cs
private Form maForm2;

private void Suivant_Click(object sender, EventArgs e)
{    if (maForm2 null) maForm2 new Form2(this);
    this.Hide();
    maForm2.Show();
}

//form2.cs
private Form maForm1;

public Form2(Form form1)
{
    InitializeComponent();
    maForm1 = form1;
}

private void Precedent_Click(object sender, EventArgs e)
{
    this.Hide();
    maForm1.Show();
}

La deuxième méthode (que je te conseille quand même de regarder parce que ça pourra toujours servir), c'est d'utiliser le Design Pattern "Singleton". C'est une méthode pour qu'un objet soit instancié une fois et une seule (ce qui doit être le cas pour chacune de tes forms). Google t'indiquera tout ce dont tu as besoin.

Krimog :
while (!(succeed = try())) ;
0
manelfeki Messages postés 19 Date d'inscription vendredi 27 février 2009 Statut Membre Dernière intervention 21 avril 2009
15 avril 2009 à 16:58
Bonjour,merci ca marche bien c'est tres gentille.
0
Rejoignez-nous