Passage paramètre entre un Form et un fichier de code...

Messages postés
14
Date d'inscription
mercredi 7 avril 2010
Statut
Membre
Dernière intervention
12 avril 2010
- - Dernière réponse : andy2501
Messages postés
14
Date d'inscription
mercredi 7 avril 2010
Statut
Membre
Dernière intervention
12 avril 2010
- 8 avril 2010 à 16:43
Coucou à tous... alors voila j'ai un petit soucie, j'arrive à passer des paramètres d'un Form1 à un Form2, mais comment puis-je faire pour passer les parametres d'une textbox placé dans le Form1, vers un fichier de code (Program.cs)...
le problème étant que je veux pouvoir manipuler les paramètres de ma textbox à partir de mon code placé dans Program.cs mais jusqu'a présent sans succés...
si quelqu'un pourrait m'aider, merci d'avance...
Afficher la suite 

4 réponses

Messages postés
363
Date d'inscription
vendredi 14 février 2003
Statut
Membre
Dernière intervention
20 avril 2010
3
0
Merci
Bonjour,

Dans ton fichier de code tu appelles forcément des méthodes / fonctions / constructeurs.
Il suffit de passer en paramètre la référence de ta fenêtre Form1. et dans Form1 tu fais des propriétés GET publiques pour les valeurs que tu veux récupérés.

un autre moyen, si tu ne veux pas à chaque fois passer ta fenêtre en paramètre et SI ta fenêtre Form1 ne peut être ouverte qu'une seule fois c'est de faire un singleton :

public class Form1
{
    private static Form1 _singleton;
    public static Form1 Singleton
    { 
       get
       {
            if (_singleton ==null)
                _singleton = new Form1();
            return _singleton;
       }
    }

    public string TexteSaisi
    { 
       get
       {
            return this.maTextBox.Text;
       }
    }

    //constructeur privée, l'instance doit être créée via le singleton
    private Form1(){InitializeComponent();}


    //...
}


ensuite dans tes fonctions de program.cs
il suffit de récupérer ta valeur ainsi :
Form1.Singleton.TexteSaisi

Cordialement,
Vincent
Commenter la réponse de cs_vpoyo
Messages postés
14
Date d'inscription
mercredi 7 avril 2010
Statut
Membre
Dernière intervention
12 avril 2010
0
Merci
le problème c'est que le form1 et souvant ouvert, et le contenue sera modifier de temps à autre, donc le mieux serait d'utiliser la première solution, mais je ne n'y arrive pas, si je comprend bien, dans mon Form1, je dois definir l'envoie de mon paramètre, donc;



public class Form1{

public string TexteSaisi{
get
{
return this.maTextBox.Text;
}
}
private Form1(){
InitializeComponent();
}
}


mais dans mon fichier code je ne comprend pas comment appeler la référence du Form1...?
Commenter la réponse de andy2501
Messages postés
363
Date d'inscription
vendredi 14 février 2003
Statut
Membre
Dernière intervention
20 avril 2010
3
0
Merci
Il faut lui passer en paramètre d'une fonction.

dans Form1 tu auras un appel du style :
Program.UneFonction(this);

et dans program.cs tu auras quelque chose du style :

public static void UneFonction(Form1 form)
{

     form.Visible = True; // propriété publique héritée des composants Winform
     string s = form.TexteSaisie; // propriété publique déclarée de Form1
}
Commenter la réponse de cs_vpoyo
Messages postés
14
Date d'inscription
mercredi 7 avril 2010
Statut
Membre
Dernière intervention
12 avril 2010
0
Merci
ca marche nickel merci bien viencent.
Commenter la réponse de andy2501