Interface graphique en c#

Signaler
Messages postés
79
Date d'inscription
mercredi 22 octobre 2008
Statut
Membre
Dernière intervention
17 juin 2009
-
Messages postés
79
Date d'inscription
mercredi 22 octobre 2008
Statut
Membre
Dernière intervention
17 juin 2009
-
salut,
je veux utiliser un texbox mis dans un interface form1 dans un autre interface form2
je fais une methode dans la classe form1 qui retourne la valeur de textbox et lorsque j excecuté le programme il affoche une message d'erreur au niveau int n = int.Parse(textBox1.Text);
Le format de la chaîne d'entrée est incorrect sachant que j'ai ecrit dans textbox1 un entier
voila le code en form1

        public int num(object sender, EventArgs e)
        {
            int n = int.Parse(textBox1.Text);
            return n;
        }
        private void button1_Click(object sender, EventArgs e)
        {
            Form3 f = new Form3();
            f.Show();
        }

et dans form2 j'ai fais comme ca
            Form1 fr = new Form1();
            int n=fr.num(sender,e);
Merci d'avance

4 réponses

Messages postés
1860
Date d'inscription
lundi 28 novembre 2005
Statut
Modérateur
Dernière intervention
14 février 2015
48
Salut

Tu as vérifié que textBox1.Text avait la bonne valeur (numérique) ? Si c'est le cas, vérifie aussi la longueur de la chaine (on ne sait jamais, un caractère qui ne montre rien à l'affichage).

Et une autre question (mais normalement ce n'est pas de là que vient ton problème) : pourquoi le "object sender, EventArgs e" dans la méthode num ?

Krimog :
while (!succeed = try()) ;
Messages postés
79
Date d'inscription
mercredi 22 octobre 2008
Statut
Membre
Dernière intervention
17 juin 2009

salut
merci bien pour votre réponse
 j'ai utilisé la methode sans object sender et enventArgs mais la probleme reste la meme
Je pense que le probleme au niveau de la methode num car lorsque je fais l affichage de
 int n = int.Parse(textBox1.Text);
il affiche le resultat sans probleme
Merci d'avance
Messages postés
1860
Date d'inscription
lundi 28 novembre 2005
Statut
Modérateur
Dernière intervention
14 février 2015
48
1) Si int n = int.Parse(textBox1.Text); marche sans problème, pourquoi utiliser la méthode num ?
2) Dans ta méthode num, le textBox1 que tu utilises est celui correspondant à la classe dans laquelle se trouve num(). Quand tu as testé int n = int.Parse(textBox1.Text); tu l'as fait dans la même classe ?

Exemple :

class class1
{
    textBox1; // là par exemple on va dire que le texte est vide ("")
    public static int num()
    {
        int n = int.Parse(textBox1.Text);
        return n;
    }
}

class class2
{
    textBox1; // là on va dire que le texte c'est "1"
    private void MaMethode()
    {
        int n = int.Parse(textBox1.Text); // marche, puisque textBox1 correspond à celle de la class2
        class1.num(); // ne marche pas, puisque la textBox1 de num correspond à celle de la class1, qui n'est pas un nombre
    }
}

Krimog :
while (!succeed = try()) ;
Messages postés
79
Date d'inscription
mercredi 22 octobre 2008
Statut
Membre
Dernière intervention
17 juin 2009

ui le probleme je veux utiliser la valeur de textbox de form1 dans un autre form2 pour la clairité de mon interface puisque je veux faire une image et plusieurs textbox don il faut le faire chacun dans un formet recuperer la valeur de textbox afin de l utiliser dans le listevew

dasn form1 j ai
            string sx = textBox1.Text;
et en form2 j ai
            Graphics g = listView1.CreateGraphics();
            g.DrawEllipse(Pens.Black,tx, ty, tr, tr);
avec tx ty les valeurs de text box d'un autre form
cad je veu aprés avoir remplir les chamos necessaires faire le shema dans un autre form qui contient que le shema
j espere que vous avez compris ma pbleme et merci d'avance