- Crear un control y, posteriormente, asihnar un valor numérico (no negativo) a su propiedad Index; de esta forma habrá creado un array de control con un único elemento.
- Crear dos controles de la misma clase y asignarles el mismo valor a su propiedad Name. Visual Basic muestra un cuadro de diálogo avisándole que ya existeun control con el mismo nombre y le preguntara sidesea crear un array de controles.
- Seleccionar un control del formulario, pulsar Crtl + C para copiarlo en el portapapales y, posteriormente, pulsar Ctrl + V para pegar una nueva isntancia del control con la misma propiedad Name que el objeto inicial. Visual Basic muestra el mensaje de aviso mencionando en el punto anterior.
- Los controles que pertenecen al mismo array comparten el mismo conjunto de procedimientos de suceso; de esta forma podrá reducir drasticamente la cantidad de código que tendra que escribir en respuesta a una acción del usuario.
- Podrá añadir dinamicamente nuevos elementos al array de controles en tiempo de ejecución; en otras palabras, podrá crear nuevos controles que no existan en tiempo de diseño.
- Los elementos de los array de controles consumen pocos recursos en comparación con los controles normales y producen archivos ejecutables de menor tamaño. Además , los formularios de Visual Basic pueden almacenar hasta 256 nombres de controles distintos, pero un array de controles cuenta como uno solo de estos nombres. En otras palabras , los arrays de controles le permiten superar con facilidad esa limitacion.
Los Procedimientos de suceso relacionados con los ementos de un array de control son facilmente reconocibles porque cuenatn con un parámetro Index adicional, que precede a todos los demás parámetros. Este parámetro adicional recibe el indice del elemento que ha provocado el suceso, como puede ver el siguiente ejemplo:
Private Sub Text1_keyPress(Index As Integer, Keyascii As Integer)
Msgbox " Se ha pulsado una tecla sobre el control Text1 ( " & Index &" )"
End Sub
El hecho de que varios controles puedan compratir el mismo conjunto de procedimientos de suceso suele ser, con frecuencia, un buen motivo para crear un array de controles. Por Ejemplo, suponga que desea definir como amarillo el color de fondo de cada uno de los controles TextBox cuando reciban el foco de entrada y restaurar su color de fondo como blanco cuando el usuario pulse en otro campo:
Private Sub Text1_GotFocus(Index As Integer)
Text1(Index).BackColor = vbYellow
End Sub
Private Sub Text1_LostFocus(Index As Integer)
Text1(Index).BackColor = vbWhite
End Sub
Los Array de controles son especialmente útiles congrupos de controles OPtionButton por que podrá recordar cuál esel elemento del grupo que se ha activado sin más que añadir una linea de código a su suceso click compartido. Esta forma de actuar le permitirá ahorrarse unas cuantas lineas de código cuando el programa necesite determinar qué boton es el que se encuentra activo.
No hay comentarios:
Publicar un comentario