VB.Net - Gestionar eventos y propiedades de varios controles

Noviembre 2016


Veremos un ejemplo que permite:
  • Reagrupar los eventos Click y TextBox_Changed de seis TextBox en un solo Sub
  • Incorporar seis etiquetas label en una colección lo que permite tener index

Pasos previos


Abrir un nuevo proyecto Windows form.
Pegar seis textbox, el nombre no tiene importancia pero en la propiedad Tag poner su N° de 1 a 6.
Pegar seis etiquetas a la derecha de los textbox, el nombre no tiene importancia pero en la propiedad Tag poner su N° de 1 a 6.
Pegar una etiqueta (en la parte de abajo) con el nombre Label14
Las seis etiquetas a la izquierda de los TextBox son opcionales y solo sirven como referencia.

El código del FormLoad


Este ejemplo es para seis textbox y seis label pero también es válido para una cantidad ilimitada y no necesitará una solo línea de código adicional.
    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    
                'Inicializa los eventos de los TextBox    
                AddHandler Ctr.TextChanged, AddressOf AllTextBox_TextChanged    
                AddHandler Ctr.Click, AddressOf AllTextBox_Click    
            ElseIf TypeOf Ctr Is Label Then    
                If Ctr.Tag <> "" Then    
                    'Inicializa las propiedades de los labels    
                    LbGroupe.Add(Ctr, Ctr.Tag)    
                End If    
            End If    
        Next    
    End Sub

El código de los eventos Click y cambio de los 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 = "Ha seleccionado el TexBox N° " & sender.tag    
    End Sub


Como dijimos anteriormente ni una línea adicional.

Descarga


Si no deseas escribir el código, puedes descargar la solución.
Atención: debes descomprimir el archivo zip.
Haz clic aquí para descargar la solución.


Consulta también :
El documento «VB.Net - Gestionar eventos y propiedades de varios controles» de CCM (es.ccm.net) se encuentra disponible bajo una licencia Creative Commons. Puedes copiarlo o modificarlo siempre y cuando respetes las condiciones de dicha licencia y des crédito a CCM.