Combobox_selectedIndexChanged et Form_shown

Résolu
makaye Messages postés 2 Date d'inscription mercredi 4 juin 2008 Statut Membre Dernière intervention 18 juillet 2008 - 18 juil. 2008 à 11:53
cs_Scooper Messages postés 71 Date d'inscription jeudi 2 octobre 2003 Statut Membre Dernière intervention 12 septembre 2013 - 18 juil. 2008 à 21:39
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 !

3 réponses

benzebuth666 Messages postés 8 Date d'inscription mercredi 3 novembre 2004 Statut Membre Dernière intervention 18 juillet 2008
18 juil. 2008 à 12:15
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à.
++
3
makaye Messages postés 2 Date d'inscription mercredi 4 juin 2008 Statut Membre Dernière intervention 18 juillet 2008
18 juil. 2008 à 12:19
merci merci merci !

c'était bête comme chou !
0
cs_Scooper Messages postés 71 Date d'inscription jeudi 2 octobre 2003 Statut Membre Dernière intervention 12 septembre 2013
18 juil. 2008 à 21:39
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();
  ...
  ...
}
0
Rejoignez-nous