C# valeur nulle

Résolu/Fermé
idrissess Messages postés 87 Date d'inscription mercredi 28 janvier 2009 Statut Membre Dernière intervention 5 juin 2012 - 17 mars 2011 à 11:34
idrissess Messages postés 87 Date d'inscription mercredi 28 janvier 2009 Statut Membre Dernière intervention 5 juin 2012 - 17 mars 2011 à 14:34
Bonjour,

Dans Un Form1 j'ai écrit ces lignes de code
public int k;
.
.
.
while (reader.Read())
                {
                    if ((reader[1].ToString() != "") && (reader[2].ToString() != ""))
                    {
                      k++;
                    }
                }
                textBox2.Text = k.ToString();//compteur de linges
.
.
public int compteur()//compteur des lignes
        {          
            return k;
        }

et dans Form2 j'ai essayé de récupérer la valeur final de k (nombre de lignes d'un fichier excel

public int k;
        static Form1 f1 = new Form1();
.
.
k = f1.compteur();// compteur des lignes
            textBox1.Text = k.ToString();


mais le problème c'est que j'ai eu "0" dans textBox1.Text alors que la valeur de k=19 dans textBox2 (de Form1)
je sais pas pourquoi la valeur de k dans Form2 ne prend pas la valeur final de k dans Form1
j'ai essayé d'écrire int k= Form1.ActiveForm.compteur(); mais ça pas marché.
est ce que vous pouvez m'aider?

1 réponse

Nico# Messages postés 323 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 28 août 2013 102
17 mars 2011 à 13:42
Slt tu recupere la valeur 0 car dans ta form2 tu as instacier une nouvelle form1

static Form1 f1 = new Form1();

d'ailleurs le static n'a pas d'utilisté ici

pour faire ce que tu souhaite tu peut passer ta form1 en parametre de ta form2 par exemple dans le constructeur de la form2

private Form1 _frm;
public void Form2(Form1 frm)
{
InitialiazeComponent();
_frm = frm;
}

// Lors de l'appel de la form2 

Form2 frm = new Form2(this);
frm.show();


ce qui te permet de faire dans ta form2

TextBox1.text = _frm.k.ToString();
2
idrissess Messages postés 87 Date d'inscription mercredi 28 janvier 2009 Statut Membre Dernière intervention 5 juin 2012 12
17 mars 2011 à 14:34
Merci beaucoup ça bien marché
juste j'ai met
public  Form2(Form1 frm)

au lieu de
public void Form2(Form1 frm)
(sans void)
sinon il affiche cet erreur Error 1 'Form2': member names cannot be the same as their enclosing type.....;
Merci autre fois :-)))
0