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

C++/CLI Discussion :

Récupérer une variable d'une boite de dialogue à l'autre


Sujet :

C++/CLI

Vue hybride

DjSeblaterreur Récupérer une variable d'une... 06/12/2006, 12h46
nico-pyright(c) tu peux t'inspirer de ce... 06/12/2006, 13h15
DjSeblaterreur //Dans Form1 public void... 06/12/2006, 14h12
nico-pyright(c) ben, tout dépend de ce que tu... 06/12/2006, 14h26
DjSeblaterreur Et si on veut récupérer la... 06/12/2006, 14h39
Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Décembre 2006
    Messages
    46
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Décembre 2006
    Messages : 46
    Par défaut Récupérer une variable d'une boite de dialogue à l'autre
    Bonjour,

    Aujourd'hui, mon problème c'est de recopier les variables rentrées dans un formulaire dans mon Form1, dans une nouvelle Form2, pour récapituler les choix de l'utilisateur.

    Comment faire pour récupérer ces variables?

    Merci bien

  2. #2
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    tu peux t'inspirer de ce qu'il y a dans la faq C++/CLI http://dotnet.developpez.com/faq/cpp...sspublicmethod

  3. #3
    Membre averti
    Inscrit en
    Décembre 2006
    Messages
    46
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Décembre 2006
    Messages : 46
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    //Dans Form1
    public void TraitementForm1()
    {
     
    }
     
    public void OuvertureForm2()
    {
    form2 ^maForm2 = gcnew form2();
    maForm2->Owner = this;
    maForm2->Show();
    }
     
    //Dans MaForm2
     
    private void ButtonOk_Click(object sender, System.EventArgs e)
    {
    Form1 ^maForm1 = safe_cast<Form1 ^>(this->Owner);
    maForm1->TraitementForm1();
    }
    En fait, je ne comprend pas trop le code... Donc je n'arrive pas à l'adapter

  4. #4
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    ben, tout dépend de ce que tu veux faire, mais imaginons que tu ais affiche ta form2 qui contient un textbox, et que tu veux l'afficher dans ta form1

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    form2 ^maForm2 = gcnew form2();
    maForm2->ShowDialog();
    this->textBox1->Text = maForm2->GetValueOfTextBox();
    avec dans la form2 un truc du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public String ^ Form2::GetValueOfTextBox()
    {
       return this->TextBox1->Text;
    }
    c'est une possibilité

  5. #5
    Membre averti
    Inscrit en
    Décembre 2006
    Messages
    46
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Décembre 2006
    Messages : 46
    Par défaut
    Et si on veut récupérer la valeur de la textbox dans la Form1 pour la recopier dans la Form2?

  6. #6
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    c'est là qu'on s'inspire du code dans la faq ...

    lorsqu'on instancie l'objet form2, on lui passe l'objet courant form1 (donc this)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    public void OuvertureForm2()
    {
    form2 ^maForm2 = gcnew form2();
    maForm2->Owner = this;
    maForm2->ShowDialog();
    }
    et donc ca veut dire que la form2, quand elle va se lancer, elle va "connaitre la form1" grace à la propriété owner.
    Donc, on récupère la form1 en castant le owner :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Form1 ^maForm1 = safe_cast<Form1 ^>(this->Owner);
    et après, on peut récupérer un membre public de la form1 (ou un accesseur public)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    this->textBox1->Text = maForm1->GetValueOfTextBox();
    avec dans form1, la méthode en publique :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public String ^ Form1::GetValueOfTextBox()
    {
       return this->TextBox1->Text;
    }
    c'est plus clair ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Affecter une variable d'une classe C# à une variable Javascript
    Par SultanGeek dans le forum C#
    Réponses: 0
    Dernier message: 20/06/2015, 20h42
  2. Récupérer le nom d'une colonne d'une table dans une variable
    Par mimi51340 dans le forum Général Java
    Réponses: 4
    Dernier message: 13/03/2008, 14h23
  3. Réponses: 5
    Dernier message: 28/09/2007, 14h58
  4. Réponses: 6
    Dernier message: 31/05/2007, 18h10
  5. Comment récupérer le contenu d'une URL dans une variable ?
    Par Fildz dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 28/08/2006, 09h26

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