Tabulación de Controles, Ahora 4 vs Ahora 5

Creado por Pablo Céspedes, Modificado el Mar, 21 May a 12:50 P. M. por Pablo Céspedes

CONSIDERACIONES GENERALES


En Ahora ERP tenemos dos maneras de modificar la tabulación de un fomulario; o estableciendo manualmente la propiedad TabIndex en los controles de forma individual o modificando el orden de tabulación en la pantalla de Configuración de un formulario, en la pestaña Tabulaciones.



No obstante hay una diferencia entre cómo actúa la tabulación de una versión a otra que es importante tener en cuenta.


AHORA 4


- Propiedad TabIndex: En Ahora 4, el orden de tabulación no tiene en cuenta los contenedores de los controles. Todos los controles en el formulario comparten un único espacio de tabulación, independientemente de si están dentro de contenedores como CntPanel o Frame.

- Tabulación Global: Esto significa que si tenemos varios controles dentro de diferentes contenedores, el usuario puede tabular a través de todos ellos en el orden de TabIndex establecido, sin importar en qué contenedor se encuentran.



AHORA 5


- Propiedad TabIndex: En Ahora 5, el orden de tabulación es gestionado primero dentro de los contenedores de los controles, como CntPanel, Form, etc. Cada contenedor tiene su propio orden de tabulación interno.

- Tabulación por Contenedores: Esto significa que cuando el usuario presiona la tecla Tab o Enter, la navegación se realiza primero a través de todos los controles dentro del contenedor actual antes de pasar al siguiente contenedor en el formulario.. Los contenedores anidados siguen este mismo principio, donde la tabulación se realiza dentro del contenedor hijo antes de moverse al siguiente control en el contenedor padre.



EJEMPLO PRÁCTICO


VB6:

' En VB6, el orden de tabulación ignora los contenedores.
gForm.Controls("TextoUsuario1").TabIndex = 0
gForm.Controls("TextoUsuario2").TabIndex = 1
gForm.Controls("TextoUsuario3").TabIndex = 2
gForm.Controls("TextoUsuario4").TabIndex = 3

C#:

textoUsuario1 = new TextoUsuario();
textoUsuario2 = new TextoUsuario();
cntPanel1 = new CntPanel();
textoUsuario3 = new TextoUsuario();
textoUsuario4 = new TextoUsuario();

// Configuración de TabIndex
textoUsuario1.TabIndex = 0;
textoUsuario2.TabIndex = 1;
cntPanel1.TabIndex = 2;
textoUsuario3.TabIndex = 0; // Dentro del CntPanel1
textoUsuario4.TabIndex = 1; // Dentro del CntPanel1

// Añadir controles al formulario
Controls.Add(TextoUsuario1);
Controls.Add(TextoUsuario2);
Controls.Add(CntPanel1);

// Añadir controles al panel
CntPanel1.Controls.Add(TextoUsuario3);
CntPanel1.Controls.Add(TextoUsuario4);


Comportamiento de la Tabulación

En VB6: Presionar Tab le llevará de TextoUsuario1 a TextoUsuario2, luego a TextoUsuario3 y finalmente a TextoUsuario4, sin importar que TextoUsuario3 y TextoUsuario4 puedan estar dentro de otro Panel.

En C#: Presionar Tab le llevará de textoUsuario1 a textoUsuario2, luego al cntPanel1 y dentro del cntPanel1 de textoUsuario3 a textoUsuario4. Solo después de completar la tabulación dentro del cntPanel1 se continuará con otros controles fuera del panel.



CONCLUSIÓN


La principal diferencia en el manejo de la propiedad TabIndex entre Ahora 4 y Ahora 5 radica en la consideración de los contenedores. En Ahora 4, la tabulación es global y no tiene en cuenta los contenedores, mientras que en Ahora 5, la tabulación se maneja primero dentro de cada contenedor antes de moverse al siguiente, proporcionando un orden de navegación más estructurado y lógico dentro de interfaces de usuario complejas.

¿Le ha sido útil este artículo?

¡Qué bien!

Gracias por sus comentarios

¡Sentimos mucho no haber sido de ayuda!

Gracias por sus comentarios

¡Háganos saber cómo podemos mejorar este artículo!

Seleccione al menos una de las razones
Se requiere la verificación del CAPTCHA.

Sus comentarios se han enviado

Agradecemos su esfuerzo e intentaremos corregir el artículo