Object reference not set to an instance of an object [Résolu]

Signaler
Messages postés
52
Date d'inscription
jeudi 29 novembre 2007
Statut
Membre
Dernière intervention
26 septembre 2012
-
Messages postés
52
Date d'inscription
jeudi 29 novembre 2007
Statut
Membre
Dernière intervention
26 septembre 2012
-
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
A voir également:

3 réponses

Messages postés
1540
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
1 août 2013
11
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.
Messages postés
52
Date d'inscription
jeudi 29 novembre 2007
Statut
Membre
Dernière intervention
26 septembre 2012
1
lorsue je veut modifie un composant d' un form1 à partir de form2;

abdessamed
Messages postés
52
Date d'inscription
jeudi 29 novembre 2007
Statut
Membre
Dernière intervention
26 septembre 2012
1
merci
c'est parfait

abdessamed