ToolTip vbnet

 

Come prima cosa dobbiamo inibire la creazione automatica del toolTip da parte del Datagridview con il comando:

datagridview.ShowCellToolTips = False

 

dichiariamo il nostro toolTip

Private WithEvents mioToolHeader As New ToolTip

 

Poi Implementiamo il codice dell’evento datagridview.CellMouseEnter

 

Private Sub tabellaRilievi_CellMouseEnter(sender As Object, e As DataGridViewCellEventArgs) Handles tabellaRilievi.CellMouseEnter

        'decido per quali Colonne deve essere attivo il toolTip

        If e.RowIndex = -1 And (e.ColumnIndex > 2 And e.ColumnIndex < tabellaTolleranze.Rows.Count + 2) Then

            'assegno il testo del toolTip

            Dim testo As String = dammiValoreMin_toString((e.ColumnIndex - 3)) & " ÷ " & dammiValoreMax_toString((e.ColumnIndex - 3))

            Application.DoEvents()

 

            'rilevo la posizione del mouse

            Dim Pos = tabellaRilievi.PointToClient(Cursor.Position)

            Dim HitTest As DataGridView.HitTestInfo = tabellaRilievi.HitTest(Pos.X, Pos.Y)

 

            'preparo il mio toolTip

            With mioToolHeader

                .IsBalloon = True

                .InitialDelay = 1

                .UseAnimation = True

                .ToolTipTitle = "RANGE"

                .ToolTipIcon = ToolTipIcon.Info

                .Show(testo & "    ", sender, Pos.X, Pos.Y + 2)

                .OwnerDraw = True

                .RemoveAll()

                .ShowAlways = True

            End With

        End If

    End Sub

 

Ed infine implementiamo il codice dell’evento datagridview.CellMouseLeave

 

Private Sub tabellaRilievi_CellMouseLeave(sender As Object, e As DataGridViewCellEventArgs) Handles tabellaRilievi.CellMouseLeave

        mioToolHeader.Hide(sender)

End Sub