[VB.Net] Gérer évènements et propriétés de plusieurs contrôls

Décembre 2016


Cette démonstration a pour objectif de :
  • Regrouper les évènements Click et TextBox_Changed de six TextBox mais en une seule Sub
  • Incorporer six label dans une collection ce qui permet d'avoir des index.

Préliminaire


Ouvrir un nouveau projet Windows form.
Coller six textbox, le nom n'a pas d'importance mais dans la propriété Tag mettre sont N° soit de 1 à 6
Coller six label à droite des textbox, le nom n'a pas d'importance mais dans la propriété Tag mettre sont N° soit de 1 à 6
Coller un label (dans le bas) avec le nom Label14
Les six label à gauche des TextBox sont facultatif et ne servent que de point de repère.

Le code du FormLoad


La démo est basée sur six textbox et six label mais le nombre est illimité et ne nécessiterait pas une seule ligne de code supplémentaire.
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load  
        Dim Ctr As Control  
        For Each Ctr In Me.Controls  
            If TypeOf Ctr Is TextBox Then  
                'Initialise les événements des TextBox  
                AddHandler Ctr.TextChanged, AddressOf AllTextBox_TextChanged  
                AddHandler Ctr.Click, AddressOf AllTextBox_Click  
            ElseIf TypeOf Ctr Is Label Then  
                If Ctr.Tag <> "" Then  
                    'Initialise les propriétés des labels  
                    LbGroupe.Add(Ctr, Ctr.Tag)  
                End If  
            End If  
        Next  
    End Sub

Le code des évènement Click et change des TextBox


    Private Sub AllTextBox_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)  
        LbGroupe(sender.tag).text = sender.text  
    End Sub  
    Private Sub AllTextBox_Click(ByVal sender As Object, ByVal e As System.EventArgs)  
        Label14.Text = "Vous avez sélectionner le TexBox N° " & sender.tag  
    End Sub

Beh oui... pas une ligne de plus.

Téléchargement


Si vous ne souhaitez pas créer la démonstration, vous pouvez télécharger la solution.
Attention : C'est un fichier zip à décompresser.
La solution ici

A voir également :

Ce document intitulé «  [VB.Net] Gérer évènements et propriétés de plusieurs contrôls  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.