Changer l'apparence d'un Tooltip

Résolu
Karin.code Messages postés 183 Date d'inscription vendredi 2 septembre 2016 Statut Membre Dernière intervention 16 janvier 2018 - 1 févr. 2017 à 09:19
Karin.code Messages postés 183 Date d'inscription vendredi 2 septembre 2016 Statut Membre Dernière intervention 16 janvier 2018 - 27 févr. 2017 à 10:29
Bonjour,
Pour changer le BackColor et la Font d'un Tooltip il faut tout d'abord mettre la propriété OwnerDeaw en True , et aussi :
 Dim Texte As String
Dim Taille_Texte As Size
Private Sub ToolTip1_Popup(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PopupEventArgs) Handles ToolTip1.Popup
e.ToolTipSize = Taille_Texte 'La nouvelle taille ToolTip1
End Sub
Private Sub ToolTip1_Draw(ByVal sender As Object, ByVal e As System.Windows.Forms.DrawToolTipEventArgs) Handles ToolTip1.Draw
e.DrawBackground()
e.DrawBorder()
e.DrawText()
e.Graphics.DrawString(Texte, New Font("Century Gothic", 12), Brushes.White, 2, -1) 'Le texte a dessiner, la Nouvelle Font, Couleur du texte, les coordonnées
End Sub

Pour attribuer un Tooltip à un contrôle il faut par exemple :
  Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
ToolTip1.SetToolTip(Button1, "")
End Sub

mais le problème est que ça ne fonctionne pas pour le ContextMenuStrip car il n'est pas considéré comme un contrôle, si je fais ça par exemple :
ToolTip1.SetToolTip(TesteToolStripMenuItem1, Texte)

alors une erreur s'affiche, même si je fais ça :
 TestToolStripMenuItem1.ToolTipText = Texte

alors les modifications (le BackColor et la Font) ne seront pas appliquer sur lui
merci pour tout aide
A voir également:

4 réponses

Whismeril Messages postés 19020 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 15 avril 2024 656
1 févr. 2017 à 15:15
Bonjour


si tu fais ça
e.Graphics.DrawString(e.ToolTipText, New Font("Century Gothic", 12), Brushes.White, 2, -1)


plus besoin de ta variable Texte, et comme ça tu peu utiliser le même tooltip pour plusieurs contrôles.

Ensuite ton problème n'a rien à voir avec la personnalisation.

Avec un tooltip sans personnalisation tu ne peux pas non plus écrire
ToolTip1.SetToolTip(TesteToolStripMenuItem1, Texte)


Du coup, je ne sais pas si ce tooltip particulier est personnalisable.


Mais, vu que beaucoup de tes dernières questions concernent la personnalisation, et que ça n'est pas toujours simple en winform, as tu penser à passer au WPF.
Certes c'est une nouvelle technologie, mais une fois qu'on la maitrise un peu, on fait absolument tout ce qu'on veut avec l'interface.
0
Karin.code Messages postés 183 Date d'inscription vendredi 2 septembre 2016 Statut Membre Dernière intervention 16 janvier 2018 2
Modifié par Karin.code le 1/02/2017 à 16:18
Bonsoir Whismeril,
merci de m'avoir répondu
j'ai fait comme tu as demandé
e.Graphics.DrawString(e.ToolTipText, New Font("Century Gothic", 12), Brushes.White, 2, -1)

mais le texte s'affiche en double, comme le montre l'image suivante : (ne prête pas attention à la taille de la bulle)
__Mais, vu que beaucoup de tes dernières questions concernent la personnalisation ....
c'est vrai que mes dernières questions concerne la personnalisation des contrôles, je cherche à modifier les thèmes de mes applications, et en ce qui concerne WPF je vais y jeter un œil merci
0
Whismeril Messages postés 19020 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 15 avril 2024 656
1 févr. 2017 à 16:27
Hum


qu'as tu mis là ou j'ai mis le ?
ToolTip1.SetToolTip(Button1, "?")
0
Karin.code Messages postés 183 Date d'inscription vendredi 2 septembre 2016 Statut Membre Dernière intervention 16 janvier 2018 2 > Whismeril Messages postés 19020 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 15 avril 2024
1 févr. 2017 à 17:07
Bonsoir Whismeril,
j'ai rien mis dans exemple que je t'ai montré, voici toute la partie code :
Public Class Form1
Private Sub ToolTip1_Popup(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PopupEventArgs) Handles ToolTip1.Popup
e.ToolTipSize = New Size(250, 21)
End Sub
Private Sub ToolTip1_Draw(ByVal sender As Object, ByVal e As System.Windows.Forms.DrawToolTipEventArgs) Handles ToolTip1.Draw
e.DrawBackground()
e.DrawBorder()
e.DrawText()
e.Graphics.DrawString(e.ToolTipText, New Font("Century Gothic", 12), Brushes.White, 2, -1)
End Sub
End Class
0
Karin.code Messages postés 183 Date d'inscription vendredi 2 septembre 2016 Statut Membre Dernière intervention 16 janvier 2018 2 > Whismeril Messages postés 19020 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 15 avril 2024
1 févr. 2017 à 17:12
j'ai trouvé où est le problème il faut enlever cette e.DrawText() partie là mais ça ne résout toujours pas mon problème, le BackColor et la Font de la bulle ne changent pas
0
Whismeril Messages postés 19020 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 15 avril 2024 656
1 févr. 2017 à 17:49
Oui, comme je te l'ai dit, c'est normal, tu ne peux pas associer un tooltiptext avec un ToolStripMenuItem, donc tout ce que tu montres ne sert à rien.
0
Karin.code Messages postés 183 Date d'inscription vendredi 2 septembre 2016 Statut Membre Dernière intervention 16 janvier 2018 2
1 févr. 2017 à 19:48
Ah d'accord j'ai compris, merci pour ton aide
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
2 févr. 2017 à 15:27
0
Karin.code Messages postés 183 Date d'inscription vendredi 2 septembre 2016 Statut Membre Dernière intervention 16 janvier 2018 2
27 févr. 2017 à 10:29
Bonjour,
Je m'excuse auprès de Whismeril et cs_Le Pivert de ne pas avoir répondu à vos réponses
je vais consulter les liens que vous m'avez suggérées, merci
0
Rejoignez-nous