Object reference not set to an instance of an object

Résolu
benabdessamed Messages postés 52 Date d'inscription jeudi 29 novembre 2007 Statut Membre Dernière intervention 26 septembre 2012 - 13 mars 2011 à 09:29
benabdessamed Messages postés 52 Date d'inscription jeudi 29 novembre 2007 Statut Membre Dernière intervention 26 septembre 2012 - 13 mars 2011 à 12:46
bonjour

j'ai message d'erreur suivant : Object reference not set to an instance of an object
lorsue je veut modifie un composant d' un form1 à partir de form1;
avec ce code :
form1:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();

}
// private Label label;

// Construction etc as normal


private void button1_Click(object sender, EventArgs e)
{
Form2 form = new Form2();
form.ShowDialog();


}

public string LabelText
{
get { return Lbl.Text; }
set { Lbl.Text = value; }
}

private void Form1_Load(object sender, EventArgs e)
{

}



}
}

et pour la deuxiem form
form2 :
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace WindowsApplication1
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();

}

private Form1 mainForm = null;

public Form2(Form callingForm)
{
mainForm = callingForm as Form1;
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{

this.mainForm.LabelText = txtMessage.Text;

//Form1 form = new Form1();
// form.Activate.;
//Close();
}

private void Form2_Load(object sender, EventArgs e)
{

}

private void Form2_FormClosed(object sender, FormClosedEventArgs e)
{
mainForm.Close();

}
}
}

et le message d'erreur est positioné sur this.mainForm.LabelText = txtMessage.Text;

est que quelqu'un peut m'aidé

merci
abdessamed

abdessamed

3 réponses

cs_jopop Messages postés 1540 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 1 août 2013 12
13 mars 2011 à 10:15
Salut,

Dans ton event button1_Click, lorsque tu instancies un objet de type Form2, tu fais appel au constructeur par défaut (new Form2()). Ton objet de type Form2 n'a donc pas référencer la Form appelante dans sa variable mainForm. Du coup mainForm.LabelText = [..] lève une exception.

Remplace :
	Form2 form = new Form2();

par :
	Form2 form = new Form2(this);


En espérant avoir résolu ton problème.
3
benabdessamed Messages postés 52 Date d'inscription jeudi 29 novembre 2007 Statut Membre Dernière intervention 26 septembre 2012 3
13 mars 2011 à 09:30
lorsue je veut modifie un composant d' un form1 à partir de form2;

abdessamed
0
benabdessamed Messages postés 52 Date d'inscription jeudi 29 novembre 2007 Statut Membre Dernière intervention 26 septembre 2012 3
13 mars 2011 à 12:46
merci
c'est parfait

abdessamed
0
Rejoignez-nous