[Net2] problème de mouseup sur listview

cs_cedkat Messages postés 172 Date d'inscription mardi 7 janvier 2003 Statut Membre Dernière intervention 3 juin 2011 - 7 sept. 2006 à 16:15
cs_cedkat Messages postés 172 Date d'inscription mardi 7 janvier 2003 Statut Membre Dernière intervention 3 juin 2011 - 8 sept. 2006 à 08:26
Bonjour,

Je développe une petite application en .Net2 avec VS2005 et je rencontre un problème avec le contrôle ListView. Problème que je rencontre en deux occasions que sont :

1) Lorsque je veux afficher un contextmenu sur l'évènement MouseUp, le contextmenu ne s'affiche pas tant que l'on a pas fait autre chose (ex : 2ème clique ou mouvement de la souris).

2) Lorsque je clique sur un item (l'item est sélectioné) et que sans bouger la souris (ce qui provoquerais l'evenement mousup et donc dans ce cas pas de problème) je tape une lettre, ce qui a pour effet de sélectionner le premier item commençant par cette lettre et que maintenant, je bouge la souris, je me retrouve avec deux items séléctionnés (celui du click et celui commançant par la lettre rentrée au claiver).

Je pense donc qu'il y a un problème sur l'évènement mouseup du controle listview qui ne se déclenche qu'après un autre évènment sur le contrôle.

Quelqu'un a-t-il une idée pour corrigé cela ou sinon pour le contourner ?

Merci d'avance.

CedKat

2 réponses

leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
7 sept. 2006 à 23:53
pour le second problème il découle du premier assez naturellement....
pourrait tu poster une portion du code de ton traitement lors de levent mouseup?
0
cs_cedkat Messages postés 172 Date d'inscription mardi 7 janvier 2003 Statut Membre Dernière intervention 3 juin 2011
8 sept. 2006 à 08:26
Bonjour,

Voici mon bout de code

    private void lvwEtatDispo_MouseUp(object sender, MouseEventArgs e)
    {
      ListViewItem selected = lv.GetItemAt(e.X, e.Y);
      if ((e.Button == MouseButtons.Right) & (selected != null))
      {
        contextMenuEtatDispo.Show(lvwEtatDispo, e.Location);
      }
    }

Mais je ne pense pas que cela vienne du code car cela fait ce qui est attendu mais pas au bon moment.

CedKat
0