IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

Récupération des valeurs de TextBox sur la Main Form


Sujet :

Windows Forms

  1. #1
    Candidat au Club
    Inscrit en
    Juin 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 6
    Points : 2
    Points
    2
    Par défaut Récupération des valeurs de TextBox sur la Main Form
    Salut ! NeraOne m'a bcp aidé sur le sujet mais il demeurre un problème. Je vous explique :

    J'ai une Main_frm qui me sert d'interface graphique grâce à des menus strip ...
    En cliquant sur ces menu ça m'ouvre de nouvelles form.
    Sur chacune d'elle il y a un certain nombre de Masked Text Box, de Numeric Up Down, de Radio buttons ...

    Sur la Main_frm il y a un élement du menu particulier : "Iterate"
    Quand je clique sur lui, ça doit récupérer toutes les valeurs des Masked Text Box, des radio buttons et les mettre dans un fichier text.

    Genre si un radio button est true, ça écrit "T", si une Masked Text Box vaut 200 ça écrit 200 ...

    Pas de problème pour l'écriture des données dans le fichier.
    Pas de problème non plus pour récupérer les valeurs d'une form EntreeSortie.cs ...
    Par contre pour les autres en appliquant la même façon de procéder ça ne fonctionne pas!
    J'ai remarqué que contrairement la form EntreeSortie.cs, les autres forms par exmple Visualisation.cs sont constitués du Visualisation.resx (normal, comme pour EntreeSortie.cs) mais en plus elles ont le fichier suivant Visualisation.Designer.cs. En gros d'après ce que j'ai compris dans le code Visualisation.cs est déclaré en tant que class partielle ...

    Donc jpense que c'est ça qui fout la merde ...
    le code que j'utilise (trouvé sur le net) est le suivant :

    public class Main_frm
    {
    private string valeur;
    public string Valeur
    {
    get {return valeur;}
    set {valeur = value;}
    }
    [...] //membres de la classe

    }

    public class EntreeSortie
    {
    private System.Windows.Forms.TextBox tbox;
    private Main_frm frmParent;
    public EntreeSortie(Main_frm frm)
    {
    frmParent = frm;
    }
    private void btOK_Click(object sender, EventArgs e)
    {
    frmParent.Valeur = tbox.Text;
    }
    }
    Donc comment faire ?

    Merci par avance

    Edit:

    Le message d'erreur que j'obtiens arrive lorsque j'appui sur le bouton ok de ma form Visualisation.

    ça me rammène dans Visual Studio et me sort :
    L'exception Null Reference Exception n'a pas été gérée en me montrant la ligne de code :

    private void OK_Click(object sender, EventArgs e)
    {
    frmParent.LTECPLOTSTAT = LTecPlotStatTrue.Checked;}

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    72
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 72
    Points : 75
    Points
    75
    Par défaut
    L'exception null reference est provoquée lorsque tu travailles sur un objet qui n'est pas instancié.
    Vérifie qu'avant d'exécuter frmParent.LTECPLOTSTAT = LTecPlotStatTrue.Checked;} frmParent ne soit pas null.

  3. #3
    Candidat au Club
    Inscrit en
    Juin 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Bah disons que frmParent je l'utilise déjà sur une la form EntreeSortie...
    Donc c'est ptétre pour ça, mais comme je suis débutant, comment je fais pour :
    1. savoir si frmParent est nul ou pas avant d'executer le click sur ok
    2. résoudre le problème s'il est bien nul ...?

    Merci!

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    72
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 72
    Points : 75
    Points
    75
    Par défaut
    Si j'ai bien compris tu as une fenêtre principale "MainForm" depuis laquelle tu ouvres d'autres fenêtres "enfant".

    Dans chaque fenêtre enfant tu as un membre frmParent.
    Il faut absolument que tu initialises la valeur de frmParent, avant d'utiliser une de ses méthodes.

    Vu ton cas, le mieux et de le faire dans le constructeur de chaque fenêtre enfant.

    Tu peux donc prendre en paramère du constructeur la fenêtre principale avec qqch comme ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    public FenetreEnfant1 (Form MainForm)
    {
        ....
        frmParent = MainForm;
     
    }
    Et dans le code de ta fenêtre principale, pour ouvrir la fenêtre enfant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    FormEnfant1 fenetre = new FormEnfant1(this);
    fenetre.Show();
    this correspond à l'objet dans lequel est exécuté le code donc MainForm.

    J'espère que ça pourra t'aider.

Discussions similaires

  1. Réponses: 3
    Dernier message: 15/11/2013, 12h49
  2. Réponses: 2
    Dernier message: 01/07/2013, 14h23
  3. [MySQL] Récupération des valeurs sur une recherche multitable
    Par flozza dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 09/01/2012, 17h23
  4. Réponses: 2
    Dernier message: 21/09/2007, 11h37
  5. [struts] [checkbox] récupération des valeurs cochées
    Par abourell dans le forum Struts 1
    Réponses: 16
    Dernier message: 10/06/2005, 20h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo