Pb sur l'event item_check d'un listview [Résolu]

Signaler
Messages postés
77
Date d'inscription
vendredi 26 mars 2004
Statut
Membre
Dernière intervention
24 avril 2007
-
Messages postés
77
Date d'inscription
vendredi 26 mars 2004
Statut
Membre
Dernière intervention
24 avril 2007
-
Bonjour,

voici mon pb:
J'ai utilisé l'événement ItemCheck du listView.
Lorsque je clic sur un item pour cocher ou déchocher, mon appli passe 2 fois dans l'événement ItemCheck.
Ce qui est très embetant car je l'utilise pour incrémenter ou décrementer une variable. Celle ci est donc à chaque événement incrémenter ou décrémenter 2 fois !

voici mon code:

private
void listView1_ItemCheck(
object sender, System.Windows.Forms.ItemCheckEventArgs e)
{

string item_Ko = listView1.Items[e.Index].SubItems[1].Text.Replace(" Ko","");

if (e.NewValue == CheckState.Checked)
{
dl_total +=
double.Parse(item_Ko);
}

if (e.NewValue == CheckState.Unchecked)
{
dl_total -=
double.Parse(item_Ko);
}
label2.Text = dl_total.ToString()+" Ko";
}

Auriez vous une idée pour résoudre le pb ?
Merci

Blacknight91
http://blacknight91.free.fr/Flash_nouvelle/

2 réponses

Messages postés
77
Date d'inscription
vendredi 26 mars 2004
Statut
Membre
Dernière intervention
24 avril 2007

Ok j'ai trouvé mon erreur.

En fait l'événement était créé 2 fois (à l'initialisation des ressources et ds le constructeur de ma form)

Merci quand meme

Blacknight91
http://blacknight91.free.fr/Flash_nouvelle/
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
49
Salut

J'ai testé ceci, le code ne passe qu'une seule fois dans l'evenement, c'est bizarre que ce soit pas le cas pour toi


<HR>
private
void listView1_ItemCheck(
object sender, System.Windows.Forms.ItemCheckEventArgs e)
{

if (e.NewValue == CheckState.Checked)
{
MessageBox.Show("checked");
}

else
{
MessageBox.Show("unchecked");
}
}

<HR>


Mx
MVP C#