Bonjour, avez vous une idée pour automatiser tout ça.
J'ai des évenement sur une textbox me permettant de changer la couleur du texte selon se qui est saisie et de vider la textbox lorsqu'elle récupère le focus.

Mon soucis est que le code que je vous présente est valable pour une seule textbox, je voudrais ecrire une fonction ou une classe ou je passerais juste en paramètre la textbox et la chaine à afficher pour ne pas avoir a recopier ce code des 10ène de fois.
Le problème c'est que je ne réussi pas a gérer un évenement dans un fonction, pouvez vous m'orienter, merci .
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
 
    Private Sub TextBox4_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox4.GotFocus
        Dim str = "Adresse de messagerie"
        If (TextBox4.Text = str) Then
            TextBox4.Text = ""
        Else
            TextBox4.ForeColor = System.Drawing.SystemColors.WindowText
        End If
    End Sub
 
    Private Sub TextBox4_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox4.LostFocus
        Dim str = "Adresse de messagerie"
        If (TextBox4.Text = "") Then
            TextBox4.Text = "Adresse de messagerie"
            TextBox4.ForeColor = System.Drawing.SystemColors.InactiveCaptionText
        Else
            TextBox4.ForeColor = System.Drawing.SystemColors.WindowText
        End If
    End Sub
 
    Private Sub TextBox4_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox4.TextChanged
        Dim str = "Adresse de messagerie"
        If (TextBox4.Text = str) Then
            TextBox4.ForeColor = System.Drawing.SystemColors.InactiveCaptionText
        Else
            TextBox4.ForeColor = System.Drawing.SystemColors.WindowText
        End If
    End Sub