none
Cómo se puede detectar si el puntero del mouse se mueve por el selector de filas del datagridview RRS feed

Respuestas

  • "James-2016" preguntó:

    > quiero detectar cuando el mouse pase por el selector del datagridview.

    Si por "selector de filas del datagridview" entendemos la columna que en el control DataGridView actúa de encabezado de sus filas, tan solo tienes que detectar si estás en la columna con el índice -1:

        Private Sub DataGridView1_CellMouseEnter(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.CellMouseEnter
    
            If (e.ColumnIndex = -1) Then
                MessageBox.Show(String.Format("El puntero del ratón está sobre el encabezado de la fila con índice {0}.", e.RowIndex))
            End If
    
        End Sub
    

    ¿Qué quieres detectar la fila cuando se haga clic con el ratón sobre el encabezado de una fila? En lugar de detectar el evento CellMouseEnter tendrías que detectar el evento RowHeaderMouseClick:

        Private Sub DataGridView1_RowHeaderMouseClick(sender As Object, e As DataGridViewCellMouseEventArgs) Handles DataGridView1.RowHeaderMouseClick
    
            If (e.ColumnIndex = -1) Then
                MessageBox.Show(String.Format("Se ha hecho clic con el ratón en el encabezado de la fila con índice {0}.", e.RowIndex))
            End If
    
        End Sub
    

    Te recuerdo que en Visual Basic .net, los índices de las filas, como los de cualquier otro índice de una colección o de una matriz, están en base cero, lo que significa que el primer índice es el 0, el segundo el 1, el tercero el 2, y así sucesivamente.


    Enrique Martínez Montejo
    [MS MVP - Visual Studio y Tecnologías de Desarrollo]

    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.

    Si esta respuesta le ha resultado útil, recuerde marcarla como satisfactoria.

    Si usas Visual Basic .NET y deseas ser productivo y feliz, se inteligente y activa la instrucción
    Option Strict.

    lunes, 22 de febrero de 2016 16:17
    Moderador

Todas las respuestas

  • "James-2016" preguntó:

    > quiero detectar cuando el mouse pase por el selector del datagridview.

    Si por "selector de filas del datagridview" entendemos la columna que en el control DataGridView actúa de encabezado de sus filas, tan solo tienes que detectar si estás en la columna con el índice -1:

        Private Sub DataGridView1_CellMouseEnter(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.CellMouseEnter
    
            If (e.ColumnIndex = -1) Then
                MessageBox.Show(String.Format("El puntero del ratón está sobre el encabezado de la fila con índice {0}.", e.RowIndex))
            End If
    
        End Sub
    

    ¿Qué quieres detectar la fila cuando se haga clic con el ratón sobre el encabezado de una fila? En lugar de detectar el evento CellMouseEnter tendrías que detectar el evento RowHeaderMouseClick:

        Private Sub DataGridView1_RowHeaderMouseClick(sender As Object, e As DataGridViewCellMouseEventArgs) Handles DataGridView1.RowHeaderMouseClick
    
            If (e.ColumnIndex = -1) Then
                MessageBox.Show(String.Format("Se ha hecho clic con el ratón en el encabezado de la fila con índice {0}.", e.RowIndex))
            End If
    
        End Sub
    

    Te recuerdo que en Visual Basic .net, los índices de las filas, como los de cualquier otro índice de una colección o de una matriz, están en base cero, lo que significa que el primer índice es el 0, el segundo el 1, el tercero el 2, y así sucesivamente.


    Enrique Martínez Montejo
    [MS MVP - Visual Studio y Tecnologías de Desarrollo]

    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.

    Si esta respuesta le ha resultado útil, recuerde marcarla como satisfactoria.

    Si usas Visual Basic .NET y deseas ser productivo y feliz, se inteligente y activa la instrucción
    Option Strict.

    lunes, 22 de febrero de 2016 16:17
    Moderador
  • Gracias, es la primera la que me sirve.

    ---------------------------

    Aprovecho para hacerle otra consulta:

    Le he asignado al Datagridview un tooltip (independiente del que tiene porque quiero ajustar algunas propiedades).

    Lo asigno así:

    ToolTip1.SetToolTip(DataGridView1, "texto del tooltip")

    Pero no se visualiza nada. Me dijeron que ponga: DataGridView1.ShowCellToolTips = False

    Para anular el tooltip del DataGridView pero sigue sin visualizarse el ToolTip independiente.

    ¿Por qué no se ve? ¿Qué puedo hacer para asignarle un ToolTip independiente?

    lunes, 22 de febrero de 2016 17:50
  • "James-2016" escribió:

    > Gracias, es la primera la que me sirve.

    Pues entonces, me alegro que mi solución te haya servido, por lo doy por cerrada ésta pregunta.

    > Aprovecho para hacerle otra consulta:
    >
    > Le he asignado al Datagridview un tooltip (independiente del que tiene porque
    > quiero ajustar algunas propiedades).

    Lo siento mucho, pero esto no tiene nada que ver con el Asunto de la pregunta en la que nos encontramos en estos momentos. Aparte que observo que tienes iniciada otra pregunta para el tema del Tooltip y que hay otro usuario intentando ayudare. ;-)


    Enrique Martínez Montejo
    [MS MVP - Visual Studio y Tecnologías de Desarrollo]

    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.

    Si esta respuesta le ha resultado útil, recuerde marcarla como satisfactoria.

    Si usas Visual Basic .NET y deseas ser productivo y feliz, se inteligente y activa la instrucción
    Option Strict.

    lunes, 22 de febrero de 2016 19:06
    Moderador