C# system.NulleReferenceException

mowuffe Messages postés 27 Statut Membre -  
mowuffe Messages postés 27 Statut Membre -
Bonjour

je développe une application en C# avec Visual studio, la compilation se passe bien, mais lorsque je veux cliquer sur un menuitems, je vois cet erreur, System.NullReferenceException.
pourtant, il est bien déclaré....

private System.Windows.Forms.MenuItem menuItem12;

this.menuItem12.Index = 1;
this.menuItem12.Text = "Liste Fournisseurs";
this.menuItem12.Click += new System.EventHandler(this.menuItem12_Click);

je n'arrive pas a trouver comment corriger la situation....

Merci

2 réponses

teebo Messages postés 33570 Date d'inscription   Statut Modérateur Dernière intervention   1 793
 
Salut,

Tu as bien défini ton EventHandler?

J'ai peur que ça soit un peu léger ton code et ton erreur pour qu'on puisse t'aider!
0
Reivax962 Messages postés 3742 Statut Membre 1 011
 
Bonjour,

L'eventHandler ne peut pas être le problème, sinon cela ne passerait pas la compilation.
Par contre, dans le code que tu donnes, je ne vois pas de
menuItem12 = new System.Windows.Forms.MenuItem();
Si tu ne l'instancies pas, il aura toujours la valeur NULL, ce qui, quand tu en appelles un membre (menuItem12.qqchose = blabla), lève l'exception "NullPointerException".

Xavier
0
mowuffe Messages postés 27 Statut Membre 8 > Reivax962 Messages postés 3742 Statut Membre
 
effectivement, la ligne n'est pas la....
mais elle n'y est aps non plus pour les autres menuitems... qui sont foncitonnels eux....

si j'ajoute cett ligne comme suit, je j'ai plus d'erreur nullreferenceexception, mais il ne se passe rien, jai positionné un point d'arret dans le handler, et rien ne se passe

this.menuItem14.Index = 1;
this.menuItem14.Text = "Liste fournisseurs";
this.menuItem14 = new System.Windows.Forms.MenuItem();
this.menuItem14.Click += new System.EventHandler(this.menuItem14_Click);


private void menuItem14_Click(object sender, System.EventArgs e)
{
Liste_fns();
}

merci
0
mowuffe Messages postés 27 Statut Membre 8
 
l'eventhendler a été défini en doublecliquant sur l'élément dans le form[design], donc je prends pour acquis qu'il est correct puisqu'il est généré automatiquement
0
mowuffe Messages postés 27 Statut Membre 8 > mowuffe Messages postés 27 Statut Membre
 
jai revérifié, et la ligne que tu m'as dite est déja présente plus haut dans le initialise component
0
mowuffe Messages postés 27 Statut Membre 8 > mowuffe Messages postés 27 Statut Membre
 
est-ce que c'est possible que j'aie trop d'éléments sur mon form pour ce que visualstudio peut supporter??

j'ai +/- 180 lignes de déclarations d'instances dans la procédure InitializeComponent()

Merci
0
mowuffe Messages postés 27 Statut Membre 8
 
public Form1()
{
//
// Required for Windows Form Designer support
//
InitializeComponent();

//
// TODO: Add any constructor code after InitializeComponent call
//
InitializeComponent_User();

}

private void InitializeComponent()
{

...

this.menuItem14 = new System.Windows.Forms.MenuItem();
this.menuItem15 = new System.Windows.Forms.MenuItem();

...

//
// menuItem14
//
this.menuItem14.Index = 1;
this.menuItem14.Text = "Liste fournisseurs";
this.menuItem14.Click += new System.EventHandler(this.menuItem14_Click);
//
// menuItem15
//
this.menuItem15.Index = 2;
this.menuItem15.Text = "Liste clients";
this.menuItem15.Click += new System.EventHandler(this.menuItem15_Click);

...

}
0