Ver Mensaje Individual
  #15 (permalink)  
Antiguo 16/02/2010, 18:53
madchen
 
Fecha de Ingreso: marzo-2008
Ubicación: Beijing
Mensajes: 20
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Crear botones dinamicamente

La solucion siguiente me tomo como media tarde de investigacion y desarrollo, pero se pudo, aplausos para todos ustedes y para mi por colaborar.

Que hace el programa? :
Este programa crea botones dinamicamente y no solo eso!, tambien te va diciendo qué botones se han ido creando, y algo mas!, tambien cuando das click sobre cualquiera de los botones creados dinamicamente te dice su nombre.

Que requerimientos tiene este programa?
-Form1 'Formulario de trabajo
-FlowLayoutPanel1 'Para no preocuparnos por la ubicacion de los botones

El código de una vez!!!!:
Public Class Form1
Friend WithEvents BOTON As Button 'La clave para poder crearle eventos

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim i As Integer
i = 0
Dim t As Integer
t = 0
While i < 10
BOTON = New Button
BOTON.Name = "id" & i
BOTON.Parent = Me.FlowLayoutPanel1
BOTON.Text = BOTON.Name
AddHandler BOTON.Click, AddressOf PrintMessage

Me.FlowLayoutPanel1.Controls.Add(BOTON)
BOTON.Show()

i = i + 1
End While


End Sub

Private Sub PrintMessage(ByVal sender As System.Object, ByVal e As System.EventArgs)
Dim producto As String
Dim i, tam As Integer
i = 0
tam = sender.ToString.Length()
producto = ""
While i < tam - 35
producto = producto + sender.ToString.Chars(i + 35)
i = i + 1
End While

MessageBox.Show(producto)


End Sub

Private Sub FlowLayoutPanel1_ControlAdded(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ControlEventArgs) Handles FlowLayoutPanel1.ControlAdded
MessageBox.Show("Boton " & BOTON.Name & " adicionado!")
End Sub
End Class

----------------------------------

Espero les sea de ayuda,