Bonsoir,
Y a t'il une astuce pour afficher un ToolTip sur un simple PictureBox ? (VB 2005)
Vu que l'option n'y est pas declare ... Peut etre une astuce.
Thx pour votre aide.
Danyel.
Bonsoir,
Y a t'il une astuce pour afficher un ToolTip sur un simple PictureBox ? (VB 2005)
Vu que l'option n'y est pas declare ... Peut etre une astuce.
Thx pour votre aide.
Danyel.
Que les neurones soient avec toi, jeune padawan.
Ne pas oublier, qu'un métier, développer être.
Effectuer des recherches et lire les tutos, avant de poster, tu dois.
Aucune question technique, faites par MP, tu ne dois.
evenement mouseenter, afficher un objet avec le texte
evenement mouseleave, cacher l'objet
possibilité de mettre un timer pour dire que l'objet arrive après quelques ms
possibilité de mettre un timer pour dire que l'objet disparait après quelques ms
possibilité de mettre tout ca dans une nouvelle class
public class MonPicturebox
inherits PictureBox
private Timer1 as Timer
private Label1 as label
public property ToolTipText
get => return label1.text
set => label1.text = value
public sub new
addhandler timer1...
label1.backcolor = couleur du tool tip text
etc...
et après tu pose des monpicturebox sur ta fenetre et tu as la propriété qu'il te manquait
En fait, si j'ai bien compris (pas sur ) tu utilises un textbox pour le tooltip de l'image que tu superposes ?
Que les neurones soient avec toi, jeune padawan.
Ne pas oublier, qu'un métier, développer être.
Effectuer des recherches et lire les tutos, avant de poster, tu dois.
Aucune question technique, faites par MP, tu ne dois.
Oui un labal, c'est ce que je voulais dire ... du mal a garder les yeux bien ouvert today
Merci sperot.
Que les neurones soient avec toi, jeune padawan.
Ne pas oublier, qu'un métier, développer être.
Effectuer des recherches et lire les tutos, avant de poster, tu dois.
Aucune question technique, faites par MP, tu ne dois.
(suite à mp) :
à priori ca donne ca :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107 Public Class NewPictureBox Inherits PictureBox Private Label As New Label Private WithEvents TimerAffiche As New Timer Private WithEvents TimerAffichePlus As New Timer Public Property ToolTipText() As String Get Return Label.Text End Get Set(ByVal value As String) Label.Text = value End Set End Property Public Property DelaiAffichageToolTipText() As Integer Get Return TimerAffiche.Interval End Get Set(ByVal value As Integer) TimerAffiche.Interval = value End Set End Property Public Property DelaiSuppressionToolTipText() As Integer Get Return TimerAffichePlus.Interval End Get Set(ByVal value As Integer) TimerAffichePlus.Interval = value End Set End Property Public Property CouleurFondToolTipText() As System.Drawing.Color Get Return Label.BackColor End Get Set(ByVal value As System.Drawing.Color) Label.BackColor = value End Set End Property Public Sub New() Me.CreateControl() TimerAffiche.Interval = 500 TimerAffichePlus.Interval = 3000 Label.AutoSize = True Label.Text = "" Label.BackColor = System.Drawing.SystemColors.Info Label.ForeColor = System.Drawing.SystemColors.InfoText Label.Visible = False Me.Controls.Add(Label) End Sub Protected Overrides Sub OnMouseEnter(ByVal e As System.EventArgs) If Label.Text <> "" Then TimerAffiche.Start() ' pas de tool tip text donc on fait rien MyBase.OnMouseEnter(e) End Sub Protected Overrides Sub OnMouseLeave(ByVal e As System.EventArgs) If Label.Visible = True Then Label.Visible = False TimerAffichePlus.Stop() End If MyBase.OnMouseLeave(e) End Sub Public Sub affiche_label(ByVal sender As Object, ByVal e As System.EventArgs) Handles TimerAffiche.Tick TimerAffiche.Stop() 'calcule pour que le label soit au milieu du picturebox : Label.Left = (Me.Width - Label.Width) \ 2 Label.Top = (Me.Height - Label.Height) \ 2 Label.Visible = True TimerAffichePlus.Start() End Sub Public Sub desaffiche_label(ByVal sender As Object, ByVal e As System.EventArgs) Handles TimerAffichePlus.Tick TimerAffichePlus.Stop() Label.Visible = False End Sub Protected Overrides Sub Dispose(ByVal disposing As Boolean) If TimerAffiche IsNot Nothing Then TimerAffiche.Dispose() If TimerAffichePlus IsNot Nothing Then TimerAffichePlus.Dispose() MyBase.Dispose(disposing) End Sub End Class
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager