Chiudere un ToolTip anticipatamente

Da Gambas-it.org - Wikipedia.

Il ToolTip è una finestrina, associata ad un Controllo, che viene mostrata quando il puntatore del mouse sta fermo sul Controllo medesimo per alcuni secondi di seguito. Il ToolTip resta a sua volta visibile per circa 10 secondi. E' possibile farlo chiudere anticipatamente.


Nell'esempio seguente il ToolTip è associato ad un Button posto sul Form, e sarà eliminato dopo soli 4 secondi dall'entrata del puntatore del mouse nel Button (si porrà sul Form anche l'oggetto Timer, impostando nell'IDE di Gambas il suo ritardo a ms 1, affinché la sua partenza sia immediata):

Private a As Byte  
     

Public Sub Form_Open()  
     
  Button1.Tooltip = "Testo qualsiasi"

End


Public Sub Button1_Enter()

' Se abbiamo usato l'alternativa con "Application.ShowTooltips = False",
' consentiamo nuovamente il mostrarsi di ogni "ToolTip":
   Application.ShowTooltips = True 
     
  With Timer1  
   .delay = 1000  
   .Start  
  End With  
     
End
     

Public Sub Timer1_Timer()  
      
  Inc a  
      
  If a = 4 Then

' Annulliamo il "ToolTip", assegnandogli valore stringa "Null":
    Button1.Tooltip = Null
    a = 0

' Ripristiniamo il "ToolTip", altrimenti non sarebbe possibile farlo mostrare una seconda volta:
    Button1.Tooltip = "Testo qualsiasi" 

  Endif


' In alternativa, possiamo utilizzare a proprietà booleana ".ShowTooltips" della Classe "Application",
' tenendo presente, però, che quella proprietà impedisce il mostrarsi di ogni ToolTip eventualmente previsto nel codice.
' Per consentire nuovamente l'apparire del "ToolTip" sarà, dunque, necessario poi reimpostare quella proprietà a "True":
   If a = 4 Then
 
' Impediamo il mostrarsi di ogni "ToolTip" del programma:
     Application.ShowTooltips = False
     a = 0
   Endif
 
End