Listview selection clignotement help

cs_emmanuel9 Messages postés 903 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 16 juin 2010 - 21 mars 2005 à 18:53
Athalus Messages postés 131 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 7 juillet 2005 - 22 mars 2005 à 11:01
Bonjour,

j'ai un listview avec des personnes dedans et quand je clique sur une personne j'ai a droite deux champs de saisie nom et prenom qui affiche le nom et le prénom de la personne. Le problème c'est quand je clique dans mon listview dans la zone blanche, c'est a dire en dessous des mes listviewitem. J'ai fais :


ListView::SelectedListViewItemCollection * b = listview_n->SelectedItems;









if ((b->get_Count() != 0))
{


panel1->enabled = true ;
Personne_selectionne =
dynamic_cast( b->get_Item(0)->get_Tag());
nom->Text = Personne_selectionne->get_Nom() ;
prenom->Text = Personne_selectionne->get_Prenom() ;
}
else
{
panel1->enable = false ;
}
C'est à dire si y'a pas de selectione panel1 est grisé. Ca marche tres bien le probleme c'est que quand je clique dans mon listview sur jean et ensuite sur paul, y'a un temps tres rapide ou b->get_count 0 ; et ou donc ca me fait panel1->enabled false. Et donc ca clignote et c'est pas super parceque panel1->enable = true; panel1->enabled = false; pendant 1 miliseconde et panel1->enable = true ; quand la selection revient sur une personne.

Voila, si quelqun avait la solution....

Par avance, merci.

3 réponses

Athalus Messages postés 131 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 7 juillet 2005
22 mars 2005 à 08:53
Bonjour,

Y'a de forte chance que tu trouves une reponse plus apropriée sur les forum de C/C++ car ici c'est du c#

mais moi j'aurais plus utilisé SelectedIndexChanged comme évènement à part ca ...

hum.......
0
cs_emmanuel9 Messages postés 903 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 16 juin 2010 2
22 mars 2005 à 09:51
merci de ta reponse. C'est du c++.net c pareil que le c# tu remplaces juste les -> par des .oui je precise, que mon code plus haut est dans l'evenement


private: System::Void listview_SelectedIndexChanged(System::Object * sender, System::EventArgs * e)


{
}

selectindexchanged du listview
0
Athalus Messages postés 131 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 7 juillet 2005
22 mars 2005 à 11:01
Si j'ai bien compris tu n'as pas de multiselec,
du cout à ta place j'utiliserais SelectedIndex qui serait plus cohérent avec ton évènement, d'ailleur ca vient peut etre de la, il me semble ( à verifier) que l'index change et apres l'item change ( temps tres court) du coup ton item n'est pas selectionné quand l'index change ... sinon je ne vois pas d'autre explication.

hum.......
0
Rejoignez-nous