La Web del Programador: Comunidad de Programadores
 
    Pregunta:  60146 - MATRIZ DE CONTROLES
Autor:  ROQUE AVILEZ VILORIA
Señores expertos:

Soy principiante en el mundo de Visual.Net, y en estos momentos estoy trabajando con una grilla elaborada a partir de matrices de controles (Labels, textbox, Maskedbox), pero no se cómo hacer para programar un evento cualquiera (Click, Keypress) en uno de los elementos de la matriz de controles.

Espero haber sido claro con mi pregunta.

Cordialmente desde Colombia.

  Respuesta:  abel montalvo
aderimos el evento. espero y te ayude ....un saludo


Public Class Form1
Dim ControlesTextBox(-1) As TextBox

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Dim i As Integer = 0
Dim posY As Integer = 0
For i = 0 To 20 Step 1
'Creamos 21 controles y los iinicializamos
ReDim Preserve ControlesTextBox(ControlesTextBox.Length)
ControlesTextBox(ControlesTextBox.Length - 1) = New TextBox()
ControlesTextBox(ControlesTextBox.Length - 1).Name = "TextBox" + i.ToString
ControlesTextBox(ControlesTextBox.Length - 1).Text = "Texto de TextBox" + i.ToString
ControlesTextBox(ControlesTextBox.Length - 1).Location = New Point(50, posY)
Me.Controls.Add(ControlesTextBox(ControlesTextBox.Length - 1)) ' Agregamos al formulario

AddHandler ControlesTextBox(ControlesTextBox.Length - 1).Click, AddressOf ControlesTextBox_Click
posY += 20

Next
End Sub

Private Sub ControlesTextBox_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
'Tipo de variable 'e' depende del tipo de evento (click, paint, etc)


'puedes obtener las propiedades directamente como por ejemplo
'sender.Text = "esto es texto de prueba"

' o tambien se pude convertir con Ctype
CType(sender, TextBox).Text = "otro texto"


MsgBox((CType(sender, TextBox)).Text)

End Sub
End Class