Combobox_selectedIndexChanged et Form_shown [Résolu]

Signaler
Messages postés
2
Date d'inscription
mercredi 4 juin 2008
Statut
Membre
Dernière intervention
18 juillet 2008
-
Messages postés
71
Date d'inscription
jeudi 2 octobre 2003
Statut
Membre
Dernière intervention
12 septembre 2013
-
Bonjour,


j'ai une fenêtre qui contient (entre autres choses une combobox) et mon code ressemble à ça :


private void maFonction()

{//code}


public void Frm_Shown()

{

//je remplis ma combobox avec un datasource

// j'affiche les différentes informations

}


private void maCbo_SelectedIndexChanged(..)

{

maFonction();

}


le problème est que systématiquement, au lancement de l'application,
j'ai le message d'erreur suivant "la référence d'objet n'est pas
définie à une instance d'objet". je pense avoir compris que c'est lié
au fait que ma fonction est appelée au changement d'index alors que la
combo n'est pas encore remplie ... et là, je ne vois pas trop quoi
faire (et pourtant google &co sont mes meilleurs amis) ..

euh, dois-je préciser que je suis débutante ...

merci !
A voir également:

3 réponses

Messages postés
8
Date d'inscription
mercredi 3 novembre 2004
Statut
Membre
Dernière intervention
18 juillet 2008

Salut,

Si ton problème vient bien du fait que "la fonction est appelée au changement d'index alors que la combo n'est pas encore remplie",  peut-être que tu devrais tester que le chargement est fini. Avec une variable comme ceci :

private void maFonction()
{//code}

Boolean ChargementFini = false;
public void Frm_Shown()
{
//je remplis ma combobox avec un datasource
// j'affiche les différentes informations
ChargementFini = true;
}

private void maCbo_SelectedIndexChanged(..)
{
    if (ChargementFini)
   {
        maFonction();
    }
}

Ca devrait corriger le problème, je pense, si  le problème vient de là.
++
Messages postés
2
Date d'inscription
mercredi 4 juin 2008
Statut
Membre
Dernière intervention
18 juillet 2008

merci merci merci !

c'était bête comme chou !
Messages postés
71
Date d'inscription
jeudi 2 octobre 2003
Statut
Membre
Dernière intervention
12 septembre 2013

Bonsoir,

en fait le problème vient du fait que lorsque la combobox se rempli, le 1er item est séléctionner et donc déclenche l'évenement OnSelectedIndexChanged.

La méthode que j'utilise pour ne pas avoir d'erreur est :

private void maCbo_SelectedIndexChanged(..)
{
   if(maCbo.SelectedItem == null) return;

  mafonction();
  ...
  ...
}