makaye
Messages postés2Date d'inscriptionmercredi 4 juin 2008StatutMembreDernière intervention18 juillet 2008
-
18 juil. 2008 à 11:53
cs_Scooper
Messages postés71Date d'inscriptionjeudi 2 octobre 2003StatutMembreDernière intervention12 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) ..
benzebuth666
Messages postés8Date d'inscriptionmercredi 3 novembre 2004StatutMembreDernière intervention18 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à.
++
cs_Scooper
Messages postés71Date d'inscriptionjeudi 2 octobre 2003StatutMembreDernière intervention12 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 :