Menu Contextuel dans une Listview en VB .NET

Hebus1976 Messages postés 12 Date d'inscription vendredi 4 juin 2004 Statut Membre Dernière intervention 29 septembre 2005 - 2 févr. 2005 à 14:51
Hebus1976 Messages postés 12 Date d'inscription vendredi 4 juin 2004 Statut Membre Dernière intervention 29 septembre 2005 - 3 févr. 2005 à 10:25
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

Hebus1976 Messages postés 12 Date d'inscription vendredi 4 juin 2004 Statut Membre Dernière intervention 29 septembre 2005
3 févr. 2005 à 10:25
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
0