LIST BOX Y COMBO BOX
Se obtienen directamente de la caja de herramientas:
Un control
ListBox muestra una lista de elementos en la que el usuario puede seleccionar
uno o más. Si el número de elementos supera
el número que puede mostrarse, se agregará automáticamente
una barra de desplazamiento al control ListBox.
Un control
ComboBox combina las características de un control TextBox
y un control ListBox. Los usuarios pueden introducir información
en la parte del cuadro de texto y seleccionar un elemento en la parte de
cuadro de lista del control. En resumen, un ComboBox es la combinación
de un ListBox, que se comporta como si de un ListBox se tratase, y de un
TextBox, con comportamiento análogo a un TextBox sencillo, con la
particularidad aquí de que el texto se le puede introducir por teclado,
o elegir uno de los que figuran en la parte ListBox del Combo.
El
ComboBox está normalmente sin desplegar. Se despliega cuando
se hace click con el ratón en la flecha que tiene en su parte derecha.
Al desplegarse, muestra la lista con todos sus elementos. Haciendo click
con el ratón en cualquiera de sus
elementos, el elemento elegido pasa a la parte TextBox del Combo y la lista
vuelve a replegar.
El ListBox
(y por tanto el ComboBox) tiene unas propiedades y métodos
particulares que solamente se pueden aplicar durante el tiempo de ejecución:
ListCount - Indica el número de elementos que tiene la lista
ListIndex - Indica el número de orden del elemento seleccionado
dentro de la lista.
AddItem - Añade un elemento a la lista.
RemoveItem - Elimina un elemento de la lista.
Text - Obtiene el elemento seleccionado.
List (n) - Obtiene el elemento cuyo orden dentro de la lista es n.
ListCount valdrá 0 si la lista no tiene ningún elemento,
y n si tiene n elementos.
Para seleccionar un elemento de la lista, basta con hacer click con el
ratón sobre él. Ese elemento se resaltará con fondo
en azul. Una vez seleccionado un elemento, la propiedad ListIndex tomará el
valor del número de orden que ocupa ese elemento en la lista, comenzando
por el 0 para el elemento que ocupa el primer lugar. Si no se selecciona
ningún elemento, el valor de la propiedad ListIndex será -1.
El primer elemento de la lista es ListIndex 0, y el valor de la propiedad
ListCount siempre es uno más que el valor mayor de ListIndex.
En el ComboBox
la propiedad Text contiene el texto que contenga la parte TextBox del
Combo, bien
haya sido introducida desde teclado o mediante
la recuperación de un elemento la parte ListBox del mismo.
PROPIEDADES DE ListBox y de ComboBox
Las señaladas con (*) son comunes a ambos controles
y no presentan novedades respecto a las ya comentadas para los controles
precedentes.
Appearance |
(*) |
Backcolor |
(*) |
Columns |
Propiedad de ListBox solamente |
Determina si
los elementos se presentan en una sola columna o en varias columnas, y
la forma de presentar
los elementos en el ListBox. Si esta
propiedad se pone a 0 la lista tendrá solamente una columna, y presentará los
elementos uno debajo de otro. Cuando los elementos sean mas que los que
se pueden presentar en la lista, aparecen automáticamente unas barras
de desplazamiento vertical.
Si la propiedad se pone a un número distinto a 0, el ListBox es
de tipo multicolumna, presentará en cada columna los elementos que
le quepan dependiendo de su dimensión vertical, y tendrá tantas
columnas como sea necesario para albergar el número de elementos
que tenga. Presentará en su cuadro tantas columnas como se le indique
en el valor de esta propiedad, y si no puede presentar todos los elementos
en las columnas que muestra, le aparecerán barras de desplazamiento
horizontales para poder movernos por todas las columnas que tenga.
Recuerde : El número que se le asigna a la propiedad Columns no
indica el número de columnas que tendrá el ListBox sino el
número de columnas que presenta.
Esta propiedad
puede asignarse en diseño, mediante la caja de
propiedades, o en tiempo de ejecución mediante una instrucción
como esta:
Nombrelista.Columns
= número
Esta propiedad no
puede definirse a 0 o cambiada desde 0 en tiempo de ejecuciones decir,
no se puede convertir en tiempo de ejecución
un ListBox de múltiples columnas en un ListBox de columna única
o un ListBox de columna única en un ListBox de múltiples
columnas. Sin embargo, sí es posible cambiar durante la ejecución
el número de columnas de un ListBox de múltiples columnas.
DataField DataSource.
Establecen la base
de datos y el campo donde están los datos que
se llevarán al TextBox o ComboBox para presentar datos procedentes
de una Base de Datos.
DragIcon |
(*) |
DragMode |
(*) |
Enabled |
(*) |
Font |
(*) |
ForeColor |
(*) |
Height |
(*) |
HelpContextID |
(*) |
Index |
(*) |
IntegralHeight |
No aplicable a ListBox o ComboBox |
ItemData |
Propiedad muy
importante. |
Devuelve o establece
un número específico para cada elemento
de un control ComboBox o ListBox.
Sintaxis
objeto.ItemData(índice) [= número]
La sintaxis de la propiedad ItemData tiene las siguientes partes:
objeto Nombre del ListBox o ComboBox.
índice.-
El número
de un elemento concreto del objeto.
número.-
El número
que se asocia con el elemento especificado.
Comentarios
La propiedad
ItemData es una matriz de valores enteros largos cuyo número
de elementos es el valor de la propiedad ListCount del control. Los números
asociados con cada elemento se pueden usar para cualquier fin. Por ejemplo,
se puede usar en la confección de una lista de teléfonos,
el número de identificación de un empleado, etc. Cuando
se rellena el ListBox, también se rellena los elementos correspondientes
de la matriz ItemData con los números correspondientes.
La propiedad
ItemData se usa a menudo como índice de una matriz
de estructuras de datos asociados con los elementos de un control ListBox.
Nota Cuando
se inserta un elemento en una lista con el método
AddItem, el elemento también se inserta automáticamente
en la matriz ItemData. Sin embargo, el valor no se reinicializa a cero;
retiene el valor que estaba en esa posición antes agregar el elemento
a la lista. Cuando se usa la propiedad ItemData, asegúrese de
establecer su valor al agregar nuevos elementos a la lista.
Left |
(*) |
List |
Es el contenido de la lista. |
Si la lista de elementos es corta e invariable, pueden
introducirse los elementos en el cuadro de propiedades durante el diseño.
MouseIcon |
(*) |
MousePointer |
(*) |
Name |
(*) |
Sorted
Establece o devuelve un valor que indica si los elementos de un ListBox
o ComboBox se colocan automáticamente en orden alfabético.
Los valores que puede adoptar son True o False.
True Los elementos
de la lista se ordenan alfabéticamente (sin
distinguir entre mayúsculas y minúsculas).
False (Predeterminado) Los elementos de la lista no se ordenan alfabéticamente.
Cuando esta propiedad
tiene el valor True, Visual Basic se encarga de casi todo el procesamiento
de cadenas necesario para mantener el orden
alfabético, incluyendo el cambio de los números de índice
cuando se agregan o eliminan elementos.
Nota: El
uso del método AddItem para agregar un elemento en una
posición específica de la lista puede romper el orden alfabético,
y los elementos agregados con posterioridad pueden no ordenarse correctamente.
TabIndex |
(*) |
TabStop |
(*) |
Tag |
(*) |
Top |
(*) |
Visible |
(*) |
WhatsThisHelpID |
(*) |
Width |
(*) |
|