Menu Contextuel dans une Listview en VB .NET

Signaler
Messages postés
12
Date d'inscription
vendredi 4 juin 2004
Statut
Membre
Dernière intervention
29 septembre 2005
-
Messages postés
12
Date d'inscription
vendredi 4 juin 2004
Statut
Membre
Dernière intervention
29 septembre 2005
-
J'utilise une listview et j'affiche un menu contextuel (avec modifier et supprimer) à l'emplacement du curseur de la souris lors d'un clic droit sur celle-ci. Ensuite, je fais un test sur l'élément sélectionné lors du click droit sur la souris afin de n'afficher le menu contextuel que lorsqu'un élément est sélectionné.
Mon problème est le suivant :
Au démarrage de mon appli, ListView1.FocusedItem.Text
n'est pas vide mais il contient l'élément de la 1ère ligne de ma listview. Et ce meme si rien n'est sélectionné. Donc en faisant un clic droit sur une ligne non ajoutée de ma listview, mon menu contextuel s'affiche et je ne veux pas.
Quelqu'un a-t-il une solution ???

Ah oui, je développe en VB .NET.

1 réponse

Messages postés
12
Date d'inscription
vendredi 4 juin 2004
Statut
Membre
Dernière intervention
29 septembre 2005

C'est bon j'ai trouvé la solution. Il suffit de faire un test sur selected et non sur focus.
Voici mon code si ca peut aider quelqu'un :


Private
Sub ListView1_MouseUp(
ByVal sender
As
Object,
ByVal e
As System.Windows.Forms.MouseEventArgs)
Handles ListView1.MouseUp



Dim j
As
Integer
Dim FlagSelect
As
Boolean =
False



If (e.Button = MouseButtons.Right
)
Then
For j = 0
To (Me.ListView1.Items.Count()
- 1) Step 1
FlagSelect =
Me.ListView1.Items(j).Selected()

If (FlagSelect =
True)
Then
Exit
For
End
If
Next j
If (FlagSelect =
False)
Then
Me.MenuItem1.Visible =
False
Me.MenuItem2.Visible =
False
Else
Me.MenuItem1.Visible =
True
Me.MenuItem2.Visible =
True
End
If
End
If
End
Sub