Post by SoftJaénPost by Dany2718necesito seleccionar una fila de un Datagridview con el click derecho
del raton y que se despliege un menu contextual con opciones tipo
editar eliminar etc, el menu esta creado con un contmenustrip (o como
se llame el control) y asociado al datagrid, me canse de probar formas
y no logro dar con mi objetivo
Normalmente, las filas de cualquier control tipo Grid se seleccionan con el
botón izquierdo del ratón, y a eso es a lo que están acostumbrados la
mayoría de los usuarios. El botón derecho del ratón, simplemente nos puede
ser útil para desplegar un menú contextual, pero no para seleccionar una
fila del control DataGridView.
No obstante, si esa es tu intención (la cual no la recomiendo en absoluto,
porque sería volver un poco más "locos" a los usuarios de lo que ya lo
están), en el evento <<MouseDown>> del control DataGridView ejecutarías lo
Private Sub DataGridView1_MouseDown(...)
If e.Button = Windows.Forms.MouseButtons.Right Then
' Si se ha pulsado el botón derecho del ratón,
' seleccionamos la fila completa del control
' DataGridView.
'
With DataGridView1
Dim hti As DataGridView.HitTestInfo = .HitTest(e.X, e.Y)
' Obtenemos la parte del control a las que
' pertenecen las coordenadas.
'
If hti.Type = DataGridViewHitTestType.Cell Then
.CurrentCell = _
.Rows(hti.RowIndex).Cells(hti.ColumnIndex)
End If
End With
End If
End Sub
Para que la fila quede completamente seleccionada, el valor de la propiedad
DataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect
Y en cuanto al menú contextual, si dices que has configurado un control tipo
<<ContextMenuStrip>>, simplemente se lo deberás de asignar a la propiedad
Me.DataGridView1.ContextMenuStrip = Me.ContextMenuStrip1
Ahora, cada vez que el usuario haga clic en una fila con el botón derecho
del ratón, quedará seleccionada la fila completa y aparecerá el menú
contextual que has creado.
Un saludo
--
Enrique Martínez
[MS MVP - VB]
Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona <<COMO ESTÁ>>, sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.
conmigo para lo que sea.....