Datagridview - Focus sur la Cellule qui a été cliqué avec le bouton droit
J'ai un datagridview que j'ai mis un ContextMenuStrip1. Je voudrais, pour supprimer une ligne dans le datagridview lorsque la ligne est en droit dessus et cliquer sur "supprimer la ligne". J'ai le supprimer de travail et le menu s'affiche mais ce n'est pas de cuisson lorsque vous faites un clic droit sur le datagridview.
C'est là que je suis en train de la ligne à modifier:
Private Sub ModifyRowToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ModifyRowToolStripMenuItem.Click
If Not datagridview_TagAssignment.CurrentRow Is Nothing Then
datagridview_TagAssignment.CurrentCell = datagridview_TagAssignment.Item(0, datagridview_TagAssignment.CurrentRow.Index)
datagridview_TagAssignment.BeginEdit(True)
End If
End Sub
Je suis toujours de se retrouver sur la ligne(0) et de ne jamais la ligne j'ai cliqué avec le bouton droit sur.
Private Sub datagridview_TagAssignment_CellMouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellMouseEventArgs) Handles datagridview_TagAssignment.CellMouseClick
If e.Button = Windows.Forms.MouseButtons.Right AndAlso e.RowIndex >= 0 Then
datagridview_TagAssignment.Rows(e.RowIndex).Selected = True
End If
End Sub
Quelqu'un a des suggestions?
OriginalL'auteur ErocM | 2010-03-26
Vous devez vous connecter pour publier un commentaire.
Edit: mise à Jour pour gérer un menu contextuel bande.
Qui devrait vous donner l'index de ligne de la ligne qui a été cliqué avec le bouton droit en utilisant les coordonnées de la souris. Ce qui devrait vous permettre de supprimer la ligne basée sur la connaissance de l'indice.
Modifier
Par Votre commentaire sur cela ne fonctionne pas voici mon code
J'ai une Solution avec un WinForm avec un dataGridView ajouté. et c'est le code dans le formulaire.
Un Clic droit sur une ligne indique la ligne de l'index
Assurez-vous que l'événement args que vous êtes de manutention sont à la
System.Windows.Forms.MouseEventArgs
j'ai remarqué que vous êtes la manipulation de la cellule, cliquez surLaissez-moi vérifier la mine et de voir.
Vérifier les modifications que j'ai ajouté.
Ok, j'ai trouvé la raison pourquoi il n'est pas d'attraper le clic droit. Si je supprime le "ContextMenuStrip1" dans le datagridview, le clic droit est maintenant vu et votre code fonctionne. Toutes les suggestions sur la manière de contourner ce problème?
oui, j'ai édité le code de sorte que vous pouvez voir comment afficher le menu contextuel pourtant toujours obtenir l'index de ligne. Dans le contextmenustrip je suis sur que je vais les montrer éléments comme le clic droit de la ligne. Maintenant, le <b>centré</b> ligne ne sont pas modifiées lorsque vous faites un clic droit, mais sur lequel vous avez cliqué index de ligne est correcte.
OriginalL'auteur msarchet