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

andy2501 Messages postés 14 Date d'inscription mercredi 7 avril 2010 Statut Membre Dernière intervention 12 avril 2010 - 8 avril 2010 à 11:31
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...

4 réponses

cs_vpoyo Messages postés 363 Date d'inscription vendredi 14 février 2003 Statut Membre Dernière intervention 20 avril 2010 6
8 avril 2010 à 11:45
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
0
andy2501 Messages postés 14 Date d'inscription mercredi 7 avril 2010 Statut Membre Dernière intervention 12 avril 2010
8 avril 2010 à 12:19
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...?
0
cs_vpoyo Messages postés 363 Date d'inscription vendredi 14 février 2003 Statut Membre Dernière intervention 20 avril 2010 6
8 avril 2010 à 12:52
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
}
0
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
ca marche nickel merci bien viencent.
0
Rejoignez-nous