Exportar (0) Imprimir
Expandir todo
Expandir Minimizar

Introducción al control TableLayoutPanel

18 de Julio de 2005

Publicado: Junio de 2005

Por Andy González

Se aplica a:

Visual Studio 2005

Resumen:El control TableLayoutPanel es una de las novedades de Visual Studio 2005 más útiles en el diseño de formularios Windows Forms. (7 páginas)

En esta página

Introducción Introducción
El control TableLayoutPanel El control TableLayoutPanel
Ejemplo Ejemplo
Conclusión Conclusión

Introducción

El control TableLayoutPanel es una de las novedades de Visual Studio 2005 más útiles en el diseño de formularios Windows Forms.

El control TableLayoutPanel organiza sus contenidos en una cuadricula. Ya que los cambios se realizan tanto en tiempo de diseño como durante la ejecución, el control puede cambiar dinámicamente dependiendo en los cambios del ambiente. Esto proporciona a los controles dentro del panel la capacidad de cambiar proporcionalmente su tamaño, desde su tamaño primario o cambiar el tamaño del texto debido a localización a otro idioma.

Cualquier control de formularios Windows Forms puede ser incluido en el control TableLayoutPanel incluyendo otras instancias del propio TableLayoutPanel. Esto le permite construir diseños sofisticados que se adaptan a los cambios en tiempo de ejecución.

Este control se puede expandir para acomodar los nuevos controles cuando se los agrega dependiendo del valor de las propiedades RowCount, ColumnCount y GrowStyle.

También puede controlar la dirección de la expansión (horizontal o vertical) después que haya llenado el control TableLayoutPanel con controles secundarios. De forma predeterminada, el control TableLayoutPanel se expande agregando filas.

Si desea que las filas y columnas se comporten de manera diferente del comportamiento predeterminado, tendré que controlar las propiedades de filas y columnas utilizando las propiedades RowStyles y ColumnStyles. También puede establecer individualmente las propiedades de filas o columnas.

El control TableLayoutPanel

Antes de trabajar con el control es necesario saber que el control solamente esta disponible para formularios Windows Forms de VB y C#, ambas versiones 2005. El control esta ubicado en la sección “Containers” en el Cuadro de Herramientas en Visual Basic 2005.

Figura 1: Cuadro de Herramientas

Simplemente cree un formulario Windows Forms y arrastre el control sobre un formulario.

Ejemplo

Diseño del formulario

El siguiente ejemplo del control TableLayoutPanel en VB 2005 demuestra como usar el control para manejar la localización de un formulario en tiempo de ejecución. El ejemplo esta basado en un dialogo de Opciones de Visual Studio.NET 2003.

Ya con el control TableLayoutPanel situado en un formulario Windows Form, se diseña el dialogo añadiendo una serie de controles CheckBox y Label dentro del contenedor (TableLayoutPanel). Para controlar la interfaz y la localización, añade unos controles Button y un ComboBox que se explicará en detalle más abajo. Estos dos controles están situados fuera del TableLayoutPanel.

Figura 2: Formularios Diálogo de opciones

Private Sub Form1_Load( ByVal sender As System.Object, ByVal e As System.EventArgs)  
Handles MyBase.Load 
' Ancho del formulario para comparar el tamaño al localizar el formulario 
lblWindowWidth.Text = "Ancho del formulario = " & Me.Size.Width 
' Texto de los controles Labels en el formulario 
lbl1.Text = "Re-use current document window , if saved" 
lbl2.Text = "Detect when file is changed outside the environment" 
lbl3.Text = "Auto-load changes (if not currently modified inside the environment)" 
lbl4.Text = "Allow editing of read-only files, warn when attempt to save" 
lbl5.Text = "Open file using directory of current active document" 
lbl6.Text = "Show Miscellaneous files in Solution Explorer" 
End Sub

Propiedades

Form1

AutoSize = True

AutoSizeMode = GrowAndShrink

TableLayoutPanel

AutoSize = True

RowCount = 6 (1 fila por cada control Label)

ColumnCount = 2 (1 para los controles CheckBox y otra para las etiquetas Label)

Figura 3: Propiedades del TableLayoutPanel

Funcionalidad

Botón "Cambiar idioma"

Private Sub CambiarIdioma_Click( ByVal sender As System.Object, ByVal e As 
System.EventArgs) Handles Button1.ClickIf
If strLanguage = "English"
Then
strLanguage = "Spanish"
  lbl1.Text = "Reutilizar el documento activo si se guard" 
  lbl2.Text = "Detectar si se modifica el archivo fuera del entorno" 
  lbl3.Text = "Cargar cambios automticamente (si no se han aplicado ya en el entorno)" 
  lbl4.Text = "Permitir la edicin de archivos slo lectura, advertir al guardarlos" 
  lbl5.Text = "Abrir archivos utilizando el directorio del documento activo actualmente" 
  lbl6.Text = "Mostrar archivos varios en el Explorador de soluciones"
  Else
  strLanguage = "English" 
  lbl1.Text = "Re-use current document window , if saved" 
  lbl2.Text = "Detect when file is changed outside the environment" 
  lbl3.Text = "Auto-load changes (if not currently modified inside the environment)" 
  lbl4.Text = "Allow editing of read-only files, warn when attempt to save" 
  lbl5.Text = "Open file using directory of current active document"
  lbl6.Text = "Show Miscellaneous files in Solution Explorer" 
  End If 
  lblWindowWidth.Text = "Ancho del formulario = " & Me .Size.Width
  End Sub

Botón "Restablecer"

Private Sub Restablecer_Click( ByVal sender As System.Object, 
ByVal e As 
System.EventArgs) Handles Button2.Click 
lbl1.Text = "Re-use current document window , if saved" 
lbl2.Text = "Detect when file is changed outside the environment" 
lbl3.Text = "Auto-load changes (if not currently modified inside the environment)" 
lbl4.Text = "Allow editing of read-only files, warn when attempt to save" 
lbl5.Text = "Open file using directory of current active document" 
lbl6.Text = "Show Miscellaneous files in Solution Explorer" 
lblWindowWidth.Text = "Ancho del formulario = " & 
Me .Size.Width Dim 
currentSize As Single' Tamaño de fuente 
currentSize = lbl1.Font.SizecurrentSize = 8.0F 
lbl1.Font = New Font(lbl1.Font.Name, currentSize, lbl1.Font.Style, lbl1.Font.Unit) 
lbl2.Font = New Font(lbl2.Font.Name, currentSize, lbl2.Font.Style, lbl2.Font.Unit) 
lbl3.Font = New Font(lbl3.Font.Name, currentSize, lbl3.Font.Style, lbl3.Font.Unit) 
lbl4.Font = New Font(lbl4.Font.Name, currentSize, lbl4.Font.Style, lbl4.Font.Unit) 
lbl5.Font = New Font(lbl5.Font.Name, currentSize, lbl5.Font.Style, lbl5.Font.Unit) 
lbl6.Font = New Font(lbl6.Font.Name, currentSize, lbl6.Font.Style, lbl6.Font.Unit) 
' Ancho del formulario para comparar el tamao al localizar el formulario
lblWindowWidth.Text = "Ancho del formulario = " & 
Me .Size.Width 
End Sub

ComboBox "Tamaño de fuente"

Private Sub ComboBox1_SelectedIndexChanged( ByVal 
sender As System.Object,
ByVal e As System.EventArgs) 
Handles ComboBox1.SelectedIndexChanged 
' Declare the current size. 
Dim currentSize As Single 
currentSize = lbl1.Font.Size 
currentSize += 2.0F Select Case ComboBox1.SelectedItem
Case "8" 
currentSize = 8.0F 
Case 10 
currentSize = 10.0F 
Case 12 
currentSize = 12.0F 
Case 14 
currentSize = 14.0F 
Case 16
currentSize = 16.0F 
End Select 

lbl1.Font = New Font(lbl1.Font.Name, currentSize, lbl1.Font.Style, lbl1.Font.Unit) 
lbl2.Font = New Font(lbl2.Font.Name, currentSize, lbl2.Font.Style, lbl2.Font.Unit) 
lbl3.Font = New Font(lbl3.Font.Name, currentSize, lbl3.Font.Style, lbl3.Font.Unit)
lbl4.Font = New Font(lbl4.Font.Name, currentSize, lbl4.Font.Style, lbl4.Font.Unit) 
lbl5.Font = New Font(lbl5.Font.Name, currentSize, lbl5.Font.Style, lbl5.Font.Unit) 
lbl6.Font = New Font(lbl6.Font.Name, currentSize, lbl6.Font.Style, lbl6.Font.Unit) 
lblWindowWidth.Text = "Ancho del formulario = " & Me 
.Size.Width
End Sub

Al terminar, presionaremos la tecla "F5" para ejecutar.

Resultados (Ver Figura 4 y Figura 5)

Figura 4: Formulario vista predeterminada

Figura 5: Vista cambio de idioma con fuente = 12

Conclusión

En conclusión, TableLayoutPanel es un control potente de Visual Studio 2005 que ayuda a diseñar complicadas interfaces de usuario con la capacidad añadida de facilitar el proceso para traducir la interfaces de aplicaciones multi-idioma.

Andy González es International Program Manager en Microsoft. Es responsable de la calidad de las herramientas de desarrollo en Latinoamérica y España. Sus productos incluyen Visual Studio, Visual Studio Team System, .NET Framework y Visual Studio Tools for the Office System.

Mostrar:
© 2014 Microsoft