Acceder a coleccion de botones creados dinamicamente

30/04/2010 - 08:53 por ojos | Informe spam
He creado una coleccion de botones dinamicamente:

While Reader.Read = True
Dim btnNuevo As New System.Windows.Forms.Button
btnNuevo.Name = "btnId" + CStr(Reader("Id"))
btnNuevo.Text = Reader("Titular")
btnNuevo.Location = New Point(x, 21)
Me.Panel2.Controls.Add(btnNuevo)
x += 80
End While

Ahora necesito acceder al metodo onclick de los botones y no se como hacerlo
 

Leer las respuestas

#1 Alberto Poblacion
30/04/2010 - 09:42 | Informe spam
"ojos" wrote in message
news:
He creado una coleccion de botones dinamicamente:

While Reader.Read = True
Dim btnNuevo As New System.Windows.Forms.Button
btnNuevo.Name = "btnId" + CStr(Reader("Id"))
btnNuevo.Text = Reader("Titular")
btnNuevo.Location = New Point(x, 21)
Me.Panel2.Controls.Add(btnNuevo)
x += 80
End While

Ahora necesito acceder al metodo onclick de los botones y no se como
hacerlo



El _método_ OnClick es "Protected" y por lo tanto no puedes acceder a él
nada más que heredando de la clase Button. Me imagino que cuando dices
"aceder al metodo onclick" te refieres a que quieres añadir un manejador
para el evento Click. Eso lo puedes conseguir con un AddHandler dentro del
propio bucle:

While Reader.Read = True
Dim btnNuevo As New System.Windows.Forms.Button
btnNuevo.Name = "btnId" + CStr(Reader("Id"))
btnNuevo.Text = Reader("Titular")
btnNuevo.Location = New Point(x, 21)
AddHandler btnNuevo.Click, AddressOf btnNuevo_Click
Me.Panel2.Controls.Add(btnNuevo)
x += 80
End While

Private Sub btnNuevo_Click(sender As Object, e As EventArgs)
... 'Tratar aqui el evento
... 'Nota: "sender" te dice cuál de los botones fue pulsado
End Sub

Preguntas similares