ContextMenuStrip ne pas montrer à proximité du curseur
Je suis en train de créer un événement qui montre une contextmenu lorsque je clic droit sur une ligne dans mon datgridview.
Voici une image du problème qui est en train de se produire:
Et voici le code que j'utilise actuellement:
Private Sub dgvStudents_CellMouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellMouseEventArgs) Handles dgvStudents.CellMouseDown
Dim rowClicked As DataGridView.HitTestInfo = dgvStudents.HitTest(e.X, e.Y)
'Select Right Clicked Row if its not the header row
If e.Button = Windows.Forms.MouseButtons.Right AndAlso e.RowIndex > -1 Then
'Clear any currently sellected rows
dgvStudents.ClearSelection()
Me.dgvStudents.Rows(e.RowIndex).Selected = True
ContextMenuStrip1.Show(dgvStudents, Control.MousePosition)
End If
End Sub
P. S la capture d'écran ne montre pas mon curseur >.> mais ce n'est certainement pas synchronisés avec le menu contextuel!
MODIFIER: Ok les gars, je l'ai résolu,
J'ai simplement remplacé le Contrôle.MousePosition à MousePosition et cela a fonctionné!
La dernière fois que j'ai utilisé un menu contextuel, je n'ai pas besoin de le montrer dans le cellmousedown événement. Avez-vous essayé d'ajouter le menu contextuel, comme une propriété de la datagridview?
Ouais j'ai essayé compagnon, le problème est qu'Il n'a pas les sélectionner la ligne avec elle et son affiche lorsque vous cliquez sur les en-têtes trop >.>
Merci de poster votre solution comme une réponse.
Je ne pouvais pas ne pas assez de réputation 🙁
Ouais j'ai essayé compagnon, le problème est qu'Il n'a pas les sélectionner la ligne avec elle et son affiche lorsque vous cliquez sur les en-têtes trop >.>
Merci de poster votre solution comme une réponse.
Je ne pouvais pas ne pas assez de réputation 🙁
OriginalL'auteur Robin L | 2013-03-09
Vous devez vous connecter pour publier un commentaire.
De la souris.Position en coordonnées d'écran. Vous devrez fournir les coordonnées relatives par rapport à partir de dgvStudents. Ils sont remis à vous sur un plateau d'argent par le biais de l'argument d'événement:
Les menus contextuels s'affichent normalement en réponse à la souris, donc ne favorisent la CellMouseUp événement à la place.
OriginalL'auteur Hans Passant
Aucune de ces fonctionné pour moi. La solution qui a le menu pop-up, en vertu de la souris a été:
OriginalL'auteur user3115691