Récupérer des variables d'une Form1 à une Form2

cs_Gargantuass Messages postés 11 Date d'inscription mercredi 2 avril 2008 Statut Membre Dernière intervention 4 mai 2008 - 26 avril 2008 à 18:10
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 - 26 avril 2008 à 18:56
Bonjours à tous,

voilà j'ai un petit problème qui est le suivant :

j'ai une première fenêtre Form1 qui affiche 3 boutons si je clique sur un bouton une variable map change de valeur.
Puis une fois le bouton cliqué cette fenêtre ce ferme pour m'en afficher une autre Form2.

Seulement la deuxième fenêtre Form2 doit pouvoir récupérer la variable map mais je n'y arrive pas.

Voici le code de Form1 :

using

System;
using

System.Collections.Generic;
using

System.ComponentModel;
using

System.Data;
using

System.Drawing;
using

System.Text;
using

System.Windows.Forms;
namespace

HeroicStrat{

public
partial
class
Form1 :
Form{

public Form1(){

InitializeComponent();

}

public
string map;

public
void button1_Click(
object sender,
EventArgs e){

map =

"./Map/map3.xml";Close();

}

public
void button2_Click(
object sender,
EventArgs e){

map =

"./Map/map4.xml";Close();

}

public
void button3_Click(
object sender,
EventArgs e){

map =

"./Map/map5.xml";Close();

}

public
string get_map(){

return map;}

}

}

Puis avec Form2 j'instancie :

public
Form1 menu = new Form1();

et je veux utilisé ma variable comme ceci :

docNav =

new
XPathDocument(menu.get_map());

seulement le compilateur me dis que menu.get_map est null.

Voilà j'espère avoir été claire et merci pour vos réponse.

3 réponses

bubbathemaster Messages postés 339 Date d'inscription dimanche 26 janvier 2003 Statut Membre Dernière intervention 25 mars 2009 4
26 avril 2008 à 18:39
Cette question ne revient jamais que 10 fois par semaine hein.
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
26 avril 2008 à 18:53
Salut,

De ce que je vois le champ map (pourquoi est il avec une accessibilité public ?) n'est initialisé que lors du clic sur un des boutons, donc si ce n'est pas le cas, la méthode get_map retourne effectivement une référence nulle.

/*
coq
MVP Visual C#
CoqBlog
*/
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
26 avril 2008 à 18:56
Ha oui, je n'avais pas fait attention au coup du cross form...
Appeler une méthode sur une instance de formulaire dont la méthode Close a été appelée est voué à l'échec.
Enfin, comme le dit bubbathemaster, il y a pas mal de posts existants sur ce sujet...

/*
coq
MVP Visual C#
CoqBlog
*/
0
Rejoignez-nous