cs_Gargantuass
Messages postés11Date d'inscriptionmercredi 2 avril 2008StatutMembreDernière intervention 4 mai 2008
-
26 avril 2008 à 18:10
cs_coq
Messages postés6349Date d'inscriptionsamedi 1 juin 2002StatutMembreDerniè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.
cs_coq
Messages postés6349Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014101 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.
cs_coq
Messages postés6349Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014101 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...