une petite classe qui améliore la TextBox
on ajoute un background label et une background picture
qui disparait quand la textbox a le focus
et qui réaparait seulement quand TextBox.Text=String.Empty
Source / Exemple :
' post original by Zijian
'http://www.codeproject.com/KB/miscctrl/Parasite_Pattern2.aspx
'revision par gillardg
'traduction en vb.net et ajout d'une propriété image
Public Class InTextboxLabel
Protected box As TextBoxBase
Protected hint As String
Protected lab As Label
''' <summary>
''' usage :
''' dans l'évenement Load de la form ( MyBase.Load )
''' Dim tex As New InTextboxLabel(tb1, "User Name", Image.FromFile("annsom.png"))
''' </summary>
''' <param name="box"></param>
''' <param name="hint"></param>
''' <param name="picture"></param>
''' <remarks></remarks>
Public Sub New(ByVal box As TextBoxBase, ByVal hint As String, Optional ByVal picture As Image = Nothing)
Me.box = box
Me.hint = hint
AddHandler box.Enter, AddressOf box_Enter
AddHandler box.Leave, AddressOf box_Leave
AddHandler box.TextChanged, AddressOf box_TextChanged
lab = New Label()
lab.Text = hint
lab.Image = picture
lab.ForeColor = SystemColors.ActiveBorder
box.Controls.Add(lab)
lab.Dock = DockStyle.Fill
AddHandler lab.Click, AddressOf panel_Click
If String.IsNullOrEmpty(box.Text) Then
lab.Show()
End If
End Sub
Private Sub box_TextChanged(ByVal sender As Object, ByVal e As EventArgs)
If (Not String.IsNullOrEmpty(box.Text)) Then
lab.Hide()
ElseIf (Not box.Focused) Then
lab.Show()
End If
End Sub
Private Sub panel_Click(ByVal sender As Object, ByVal e As EventArgs)
lab.Hide()
box.Select()
End Sub
Private Sub box_Leave(ByVal sender As Object, ByVal e As EventArgs)
If String.IsNullOrEmpty(box.Text) Then
lab.Show()
End If
End Sub
Private Sub box_Enter(ByVal sender As Object, ByVal e As EventArgs)
lab.Hide()
End Sub
End Class
Conclusion :
ça fait longtemps que j'avais pas posté
question souvent posée, voila une réponse
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.