Búsqueda personalizada

Aclaración

Este es un blog de apuntes universitarios. Creado por mí para compartir mis apuntes con ustedes. No es un curso, ni un tutorial. Muchas de las entradas son resúmenes, definiciones y síntesis. La mayoría tienen palabras técnicas.
Debido a esto, he tenido que cerrar los comentarios, espero sepan comprender que no puedo ampliar las más de 100 entradas de este blog ni explicar temas a todas las personas que entran cada día.
Muchas gracias por su atención.
Atte. Malw Dark






miércoles 1 de diciembre de 2010

Código que crea controles dentro de un tableLayout, en tiempo de ejecución (VB NET)

' (Este código ha sido simplificado para ponerlo aquí, por lo tanto no está compilado y puede tener algún error de tipeo)

' TablaControles es el layout que muestra los controles en orden
' La idea es que al ejecutarse el sub, aparezcan en un panel del formulario, correctamente alineados, una combobox, una label y un botón

Private Sub Mostrar_Elementos()


' Borra los controles y estilos de fila que ya existan en la layout

If TablaControles.RowCount > 0 Then TablaControles.Controls.Clear()

TablaControles.RowStyles.Clear()

'Crea las filas y columnas de layout en donde se hubicarán los controles

TablaControles.RowCount = NroFilas

TablaControles.ColumnCount = 3

' Inicia el blucle que crea los controles
For i As Short = 1 To NroFilas

' Crea una combobox

Dim CajaNumero As New ComboBox()

'Modifica el nombre de la combobox

CajaNumero.Name = "CajaNumero_" & i

'Añade elementos a la combobox

For x As Short = 1 To NroArchivos

CajaNumero.Items.Add(x)

Next

'Alinea la combobox a la derecha de la celda

CajaNumero.Dock = DockStyle.Right

'Añade la combobox al layout en la columna 0

TablaControles.Controls.Add(CajaNumero, 0, (i - 1))

'
'Crea una label

Dim Etiqueta As New Label()

'Edita los atributos de la label

Etiqueta.Name = "Etiqueta_" & i
Etiqueta.Text = Nombres(i - 1)
Etiqueta.Dock = DockStyle.Fill

' Agrega la label al layout en la columna 1

TablaControles.Controls.Add(Etiqueta, 1, (i - 1))

'
' Crea un botón


Dim Eliminador As New Button()

'Edita los atributos del botón

Eliminador.Name = "Eliminador_" & i
Eliminador.Text = "Eliminar"
Eliminador.BackColor = Color.FloralWhite
Eliminador.Dock = DockStyle.Left

'Agrega el botón a la layout en la columna 2

TablaControles.Controls.Add(Eliminador, 2, (i - 1))

'
'Crea un estilo para esta fila del layout

Dim Estilo As New RowStyle(SizeType.Absolute, 30)

'Aplica el estilo a la fila

TablaControles.RowStyles.Add(Estilo)

'Aplica manejadores a eventos de los controles que colocó en el layout, de modo que al suceder el evento, se ejecute determinado método
AddHandler CajaNumero.SelectedValueChanged, AddressOf Me.Controla_Cajas

AddHandler Eliminador.Click, AddressOf Me.Clicado_Boton

'Fin del blucle
Next
End Sub