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