none
Borrar Mensaje de tooltip al desmarcar checkbox en columna de datagridview RRS feed

  • Pregunta

  • Hola a todos:

    Como puedo quitar el mensaje cuando desmarco el checkbox de una celda, es decir, si tengo marcado el checkbox muestro el mensaje, pero cuando lo desmarco el mensaje no desaparece automáticamente, sino que está ahí hasta que el tiempo de estar mostrado desaparece.

    El código que tengo es el siguiente:

    Private Sub DataGridView1_CurrentCellDirtyStateChanged(ByVal sender As Object, ByVal e As EventArgs) Handles DataGridView1.CurrentCellDirtyStateChanged
            'Detectamos el checkbox marcado 
            If DataGridView1.CurrentCell.ColumnIndex = 1 Then
                If DataGridView1.IsCurrentCellDirty Then
                    DataGridView1.CommitEdit(DataGridViewDataErrorContexts.Commit)
                    For Each fila As DataGridViewRow In DataGridView1.Rows
                        If Not fila Is DataGridView1.Rows(DataGridView1.CurrentCell.RowIndex) Then
                            fila.Cells(1).Value = False
                        End If
                    Next
    
                    CeldaActual = DataGridView1.CurrentCell.RowIndex.ToString
                    Me.LLamadasToolTip1()
    
                End If
            End If
        End Sub
    
     Private Sub ToolTip1_Popup(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PopupEventArgs) Handles ToolTip1.Popup
            If e.AssociatedControl Is DataGridView1 Then
            End If
        End Sub
    
        Private Sub LLamadasToolTip1()
            Dim a As Reflection.Assembly = Reflection.Assembly.GetExecutingAssembly
            Dim rm As New Resources.ResourceManager(a.GetName.Name & ".Textos", a)
    
            Dim pt As Point = DataGridView1.Location
    
            'Seleccionamos la Celda Actual y la informamos con las explicaciones guardadas en el fichero de recursos "Textos".
            Select Case CeldaActual
                Case "0"
                    Dim titulo As String = rm.GetString("tituloOrden01")
                    Dim mensaje As String = rm.GetString("mensajeOrden01")
                    ToolTip1.ToolTipTitle = titulo
                    ToolTip1.Show(mensaje, DataGridView1.FindForm, pt, 5000)
    
                Case "1"
                    Dim titulo As String = rm.GetString("tituloOrden02")
                    Dim mensaje As String = rm.GetString("mensajeOrden02")
                    ToolTip1.ToolTipTitle = titulo
                    ToolTip1.Show(mensaje, DataGridView1.FindForm, pt, 5000)
    
    End Select
    
        End Sub

    Muchas gracias a todos.

    Gemma

    viernes, 7 de junio de 2013 11:45

Respuestas

  • pero veo que no asocias el tooltip a la celda sino que lo haces al

    DataGridView1.FindForm

    sabes lo que hace esto:

    ToolTip1.Show(mensaje, DataGridView1.FindForm, pt, 5000)

    porque veo que al no asociarlo al checkbox de la celda es donde esta el problema

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    • Marcado como respuesta Omar Ortiz jueves, 18 de julio de 2013 23:03
    viernes, 7 de junio de 2013 14:15

Todas las respuestas

  • hola gemma, en tu mismo checkbox vas a programar lo siguiente
            If checkbox.Checked = True Then
                "aqui colocas tu codigo con el mensaje"
            End If
    con esto puedes hacer aparecer y desaparecer tu codigo

    • Propuesto como respuesta dario_axariel viernes, 7 de junio de 2013 12:44
    viernes, 7 de junio de 2013 12:44
  • Como puedo quitar el mensaje cuando desmarco el checkbox de una celda,

    pero en el codigo que has puesto no veo que muestres ningun mensaje

    solo se ve el tooltip, lo que planteas es que el tooltip se queda visualmente a pesas que quitas el mouse de sobre la celda ?

    lo que veo raroe s a quien asocias el tootip, porque usas

    DataGridView1.FindForm

    no es que lo muestas con respecto a una celda, porque deberias asociarlo a esta celda

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    viernes, 7 de junio de 2013 12:45
  • Hola Leandro:

    Ese código me lo han pasado esta mañana y funciona bien, únicamente que si desmarco el checkbox de la celda, el tooltip con el mensaje permanece aunque esté desmarcada hasta que ha pasado el tiempo que tiene visibilidad el tooltip. Lo que precisaría es que si desmarco la celda, se anule el mensaje el tooltip.

    Un saludo.

    Gemma

    viernes, 7 de junio de 2013 14:06
  • pero veo que no asocias el tooltip a la celda sino que lo haces al

    DataGridView1.FindForm

    sabes lo que hace esto:

    ToolTip1.Show(mensaje, DataGridView1.FindForm, pt, 5000)

    porque veo que al no asociarlo al checkbox de la celda es donde esta el problema

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    • Marcado como respuesta Omar Ortiz jueves, 18 de julio de 2013 23:03
    viernes, 7 de junio de 2013 14:15
  • Hola Leandro:

    sabes lo que hace esto:

    ToolTip1.Show(mensaje, DataGridView1.FindForm, pt, 5000)

    Me sitúa el tooltip fijo arriba de la columna, así no sale por cualquier parte de la grilla, eso en principio me va bien. Voy a ver si hay la posibilidad de poner en el tooltip la aspa de cierre. Si no, lo voy a dejar así, aunque encuentro que ha de haber alguna posibilidad de cerrarlo cuando se cierre el checkbox.

    Bueno querido Leandro, un abrazo.

    Gemma

    viernes, 7 de junio de 2013 14:44
  • Hola Darío:

    Es que es un checkbox en una celda de datagridview y funciona de form diferente.

    Gracias de todas formas.

    Gemma

    viernes, 7 de junio de 2013 15:16