Oggi ho dovuto aggiungere un tooltip ad una griglia per aggiungere alcune informazioni aggiuntive ad una colonna ma il tooltip stesso sfarfallava in modo piuttosto fastidioso.
Cercando in rete ho trovato le soluzioni più disparate:
- E’ un problema di Microsoft… dobbiamo aspettare che lo risolva
- Posizionate il tooltip lontano dal mouse
- Create in classe derivata del controllo per poter fare l’override del evento OnMouseMove
- ecc…
Scartata la prima soluzione e provata la seconda senza alcun miglioramento ho provato ad arrangiarmi e ho trovato questa soluzione (collegata all’evento MouseMove della griglia):
With grid
If .MouseRow >= 1 Then
Dim tip As Object = .GetUserData(.MouseRow, .MouseCol)
If tip IsNot Nothing Then
If Not ToolTip.Active Then
ToolTip.Active = True
ToolTip.SetToolTip(grid, DirectCast(tip, String))
End If
Else
ToolTip.Active = False
End If
Else
ToolTip.Active = False
End If
End With
Magari ce ne sono di più eleganti… ma ho corretto il problema.
Insegnamento del giorno: “Non sempre Google ti toglie le castagne dal fuoco”