ericdu93
Messages postés56Date d'inscriptiondimanche 1 août 2004StatutMembreDernière intervention28 août 2008
-
4 mars 2008 à 18:55
cs_Kassidy
Messages postés97Date d'inscriptionlundi 2 mai 2005StatutMembreDernière intervention21 mars 2008
-
4 mars 2008 à 19:58
Bonjour,
donc j'ai une class importation chargé de se mémoriser de la valeur d'un textbox dont voici le code ci-dessous:
class importation
{
private String m_Url;
public String Url
{
get { return m_Url; }
set { m_Url= value; }
}
}
Dans ma form, lorsque je rentre une valeur dans le textbox, et que
je clique sur suivant, j'instancie ma class importation, et
j'initialise sa valeur m_Url avec la valeur du textbox, ensuite j'ouvre
une deuxième form pour afficher le valeur de m_Url sauf que là ca
affiche null, pourquoi ?
public partial class form1 : Form
{
public form1l()
{
InitializeComponent();
}
private void btnSuivant_Click(object sender, EventArgs e)
{
importation impt = new importation();
impt.Url= textBox1.Text;
test form2 = new test();
form2.Show();
this.Hide();
}
}
et la deuxième form où je veux récupérer la valeur dans la class importation:
public partial class test : Form
{
public test()
{
InitializeComponent();
}
private void test_Load(object sender, EventArgs e)
{
importation titi = new importation();
label1.Text = titi.Url; //donc là ca m'affiche null ?
}
}
Donc voilà, j'ai deux questions:
1 - pourquoi lorsque j'instancie ma class importation dans ma
deuxième form et que je récupère la valeur de m_Url, ca affiche null
dans mon label?
2 - quel solution dois-je utiliser alors pour pouvoir stocker des
informations de la première form et les récupérer dans une deuxième
form ?
Merci d'avance.Configuration: Windows XP
Firefox 2.0.0.12
PS: bien entendu j'ai omis volontairement les namespaces et les using pour vous faciliter la lecture.
A voir également:
[Débutant Poo][C#] stocké les données entre deux forms
Lutinore
Messages postés3246Date d'inscriptionlundi 25 avril 2005StatutMembreDernière intervention27 octobre 201241 4 mars 2008 à 19:42
private void test_Load(object sender, EventArgs e)
{
// ici tu crées un nouvel objet titi qui existe nulle part ailleurs.
importation titi = new importation();
// null, c'est normal puisque qu'il vient d'être crée.
label1.Text = titi.Url; //donc là ca m'affiche null ?
} // ici titi n'existe plus, il peut être ramassé par le GC.
private void btnSuivant_Click(object sender, EventArgs e)
{
// ici tu crées un nouvel objet impt qui existe nulle part ailleurs.
importation impt = new importation();
impt.Url= textBox1.Text;
test form2 = new test();
form2.Show();
this.Hide();
} // ici impt n'existe plus, il peut être ramassé par le GC.
cs_Kassidy
Messages postés97Date d'inscriptionlundi 2 mai 2005StatutMembreDernière intervention21 mars 20083 4 mars 2008 à 19:58
Je ne pense pas que dans ce cas mettre la classe statique soit conseillé, pour ne pas te dire de bétise sur le pourquoi du comment je te recommande de lire ceci :
ericdu93
Messages postés56Date d'inscriptiondimanche 1 août 2004StatutMembreDernière intervention28 août 20081 4 mars 2008 à 19:50
c'est pas grave Kassidy,
j'ai compris pour l'histoire des objets, merci à vous deux.
Entre temps, j'ai transformer ma classe importation en classe static, ca marche aussi. Est-ce conseillé ? où devrai-je faire comme tu le dis, passer ma class en paramètre ?