Voila, j'ai un petit souci dans mon appli et peut etre pourrez vous
m'aider :
-> dans une windows form sous visual studio 2003, j'ai un composant
listview avec des items dedans
j'ai cr=E9=E9 un menu contextuel pour que lorsque je click sur un des
=E9l=E9ment de la liste il s'affiche, voici le code :
Private Sub ListObjets_MouseDown(ByVal sender As Object, ByVal e As
System.Windows.Forms.MouseEventArgs) Handles ListObjets.MouseDown
'se produit quand je click avec la souris sur le liste des
objets
If e.Button =3D MouseButtons.Right Then
Dim eh As EventHandler
ContextMenuListObj.MenuItems.Clear() 'je vide le menu
Dim ItemDeplacer As New MenuItem 'd=E9claration
Dim ItemCopier As New MenuItem
ItemDeplacer =3D RemplirMenuItem().MenuItems(0) 'remplissage
de entit=E9s
ItemCopier =3D RemplirMenuItem().MenuItems(0)
ItemDeplacer.Text =3D "D=E9placer vers..." 'je met le texte
ItemCopier.Text =3D "Copier vers..."
'remplissage du menu
ContextMenuListObj.MenuItems.Add(ItemDeplacer)
ContextMenuListObj.MenuItems.Add(ItemCopier)
'affichage
ContextMenuListObj.Show(sender, New Point(e.X, e.Y))
End If
End Sub
Le menu contextuel s'affiche correctement, mais si je fait un click
droit sur un autre item de ma listview, le menu s'affiche avant que le
s=E9lection ne change, alors que je souhaite que lorsqu'on fait un click
droit sur un item, l'item passe en s=E9lection, et le menu contextuel
s'affiche.
J'ai pas mal cherch=E9 pour essayer de faire suivre l'=E9venement juste
avant l'affichage du menu mais je n'ai rien trouv=E9.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Millox Frédéric
Salut Jean-François,
D'après le petit exemple que je me suis fait, si tu utilises l'événement MouseUp plutôt que l'événement MouseDown, ça marche nickel :-)
A+
-- fmillox
"" a écrit :
Bonjour à tous,
Voila, j'ai un petit souci dans mon appli et peut etre pourrez vous m'aider : -> dans une windows form sous visual studio 2003, j'ai un composant listview avec des items dedans j'ai créé un menu contextuel pour que lorsque je click sur un des élément de la liste il s'affiche, voici le code : Private Sub ListObjets_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ListObjets.MouseDown 'se produit quand je click avec la souris sur le liste des objets If e.Button = MouseButtons.Right Then Dim eh As EventHandler
ContextMenuListObj.MenuItems.Clear() 'je vide le menu
Dim ItemDeplacer As New MenuItem 'déclaration Dim ItemCopier As New MenuItem
ItemDeplacer = RemplirMenuItem().MenuItems(0) 'remplissage de entités ItemCopier = RemplirMenuItem().MenuItems(0)
ItemDeplacer.Text = "Déplacer vers..." 'je met le texte ItemCopier.Text = "Copier vers..."
'remplissage du menu ContextMenuListObj.MenuItems.Add(ItemDeplacer) ContextMenuListObj.MenuItems.Add(ItemCopier)
'affichage ContextMenuListObj.Show(sender, New Point(e.X, e.Y)) End If End Sub
Le menu contextuel s'affiche correctement, mais si je fait un click droit sur un autre item de ma listview, le menu s'affiche avant que le sélection ne change, alors que je souhaite que lorsqu'on fait un click droit sur un item, l'item passe en sélection, et le menu contextuel s'affiche.
J'ai pas mal cherché pour essayer de faire suivre l'évenement juste avant l'affichage du menu mais je n'ai rien trouvé.
Merci pour votre aide, Jean-François
Salut Jean-François,
D'après le petit exemple que je me suis fait, si tu utilises l'événement
MouseUp plutôt que l'événement MouseDown, ça marche nickel :-)
A+
--
fmillox
"hart7351@gmail.com" a écrit :
Bonjour à tous,
Voila, j'ai un petit souci dans mon appli et peut etre pourrez vous
m'aider :
-> dans une windows form sous visual studio 2003, j'ai un composant
listview avec des items dedans
j'ai créé un menu contextuel pour que lorsque je click sur un des
élément de la liste il s'affiche, voici le code :
Private Sub ListObjets_MouseDown(ByVal sender As Object, ByVal e As
System.Windows.Forms.MouseEventArgs) Handles ListObjets.MouseDown
'se produit quand je click avec la souris sur le liste des
objets
If e.Button = MouseButtons.Right Then
Dim eh As EventHandler
ContextMenuListObj.MenuItems.Clear() 'je vide le menu
Dim ItemDeplacer As New MenuItem 'déclaration
Dim ItemCopier As New MenuItem
ItemDeplacer = RemplirMenuItem().MenuItems(0) 'remplissage
de entités
ItemCopier = RemplirMenuItem().MenuItems(0)
ItemDeplacer.Text = "Déplacer vers..." 'je met le texte
ItemCopier.Text = "Copier vers..."
'remplissage du menu
ContextMenuListObj.MenuItems.Add(ItemDeplacer)
ContextMenuListObj.MenuItems.Add(ItemCopier)
'affichage
ContextMenuListObj.Show(sender, New Point(e.X, e.Y))
End If
End Sub
Le menu contextuel s'affiche correctement, mais si je fait un click
droit sur un autre item de ma listview, le menu s'affiche avant que le
sélection ne change, alors que je souhaite que lorsqu'on fait un click
droit sur un item, l'item passe en sélection, et le menu contextuel
s'affiche.
J'ai pas mal cherché pour essayer de faire suivre l'évenement juste
avant l'affichage du menu mais je n'ai rien trouvé.
D'après le petit exemple que je me suis fait, si tu utilises l'événement MouseUp plutôt que l'événement MouseDown, ça marche nickel :-)
A+
-- fmillox
"" a écrit :
Bonjour à tous,
Voila, j'ai un petit souci dans mon appli et peut etre pourrez vous m'aider : -> dans une windows form sous visual studio 2003, j'ai un composant listview avec des items dedans j'ai créé un menu contextuel pour que lorsque je click sur un des élément de la liste il s'affiche, voici le code : Private Sub ListObjets_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ListObjets.MouseDown 'se produit quand je click avec la souris sur le liste des objets If e.Button = MouseButtons.Right Then Dim eh As EventHandler
ContextMenuListObj.MenuItems.Clear() 'je vide le menu
Dim ItemDeplacer As New MenuItem 'déclaration Dim ItemCopier As New MenuItem
ItemDeplacer = RemplirMenuItem().MenuItems(0) 'remplissage de entités ItemCopier = RemplirMenuItem().MenuItems(0)
ItemDeplacer.Text = "Déplacer vers..." 'je met le texte ItemCopier.Text = "Copier vers..."
'remplissage du menu ContextMenuListObj.MenuItems.Add(ItemDeplacer) ContextMenuListObj.MenuItems.Add(ItemCopier)
'affichage ContextMenuListObj.Show(sender, New Point(e.X, e.Y)) End If End Sub
Le menu contextuel s'affiche correctement, mais si je fait un click droit sur un autre item de ma listview, le menu s'affiche avant que le sélection ne change, alors que je souhaite que lorsqu'on fait un click droit sur un item, l'item passe en sélection, et le menu contextuel s'affiche.
J'ai pas mal cherché pour essayer de faire suivre l'évenement juste avant l'affichage du menu mais je n'ai rien trouvé.
Merci pour votre aide, Jean-François
hart7351
Un grand merci a toi fmillox. Je me demande bien pourquoi je n'y ai pas pensé !!! C'est tellement simple, je me prend la tete sur des fonctions récursive et jsuis meme pas capable de trouver juste ce petit truc. Encore merci, JF
Un grand merci a toi fmillox.
Je me demande bien pourquoi je n'y ai pas pensé !!!
C'est tellement simple, je me prend la tete sur des fonctions
récursive et jsuis meme pas capable de trouver juste ce petit truc.
Encore merci, JF
Un grand merci a toi fmillox. Je me demande bien pourquoi je n'y ai pas pensé !!! C'est tellement simple, je me prend la tete sur des fonctions récursive et jsuis meme pas capable de trouver juste ce petit truc. Encore merci, JF