Está en la página 1de 6

UNIDAD I: Introducción al Lenguaje de Programación Visual Basic .

Net
Entorno de Programación

Controles Avanzados en Visual Basic

Listas (ListBox):
El control ListBox permite crear cuadros de listas que pueden contener un conjunto o
serie de elementos que pueden ser seleccionados. Al igual que los controles básicos, los
ListBox, al ser seleccionados, muestran en el panel de propiedades, un conjunto de
propiedades pueden ser modificadas a través de la misma ventana de propiedades y/o
mediante código de programación, es decir, en modo diseño y/o en modo de ejecución.

a) b) c)

La figura a, muestra un control ListBox vacío.


La figura b, muestra un control ListBox con algunos elementos.
La figura c, muestra un control ListBox lleno de elementos, como se pude observar, en
esta ocasión aparece a su derecha una Barra de Desplazamiento (Scrollbar) para poder
desplazarse por el control y observar todos los elementos agregados en él.
Las propiedades más básicas, son las mismas que las explicadas en los controles
básicos, por eso no las voy a nombrar aquí. En esta ocasión, nos concentraremos en
explicar sus propiedades y métodos funcionales.

Métodos

SelectedIndex: devuelve la posición (índice) que ocupa el elemento seleccionado


en la Lista. Estas posiciones o índices comienzan a enumerarse desde cero (0), es
decir, el primer elemento de la lista ocupa la posición cero (0). Si la posición o índice
devuelto es -1, es porque no hay elemento seleccionado en la Lista.

1
Ing. Analys Petit Arteaga Controles Avanzados en VB .Net
Ejemplo:
Dim i As Integer ' Se declara una variable i como un entero
i = ListBox1.SelectedIndex ' Se asigna a i el índice del elemento seleccionado en la Lista

En la Lista mostrada, el elemento Lápiz ocupa la posición cero (0),


Borrador ocupa la posición 1 y cuaderno ocupa la posición 2. Por lo
tanto si se ejecutará el código del ejemplo, el valor que se almacenará
en la variable i, será el 1.

Importante: para verificar el valor almacenado en i, debe utilizar el condicional If…


Then o If… Then… Else (dependiendo de lo que se está programando). Más adelante se
explica en el ejemplo para eliminar elementos del ListBox.

SelecteItem: devuelve el elemento que está seleccionado en la Lista.


Ejemplo:
Dim e As String ' Se declara una variable e como una cadena de caracteres
e = ListBox1.SelectedItem ' Se asigna a e el elemento seleccionado en la Lista

En la lista mostrada, al ejecutar el código del ejemplo, en la variable e


se almacenará la cadena “Borrador”.

Propiedad Items

La propiedad Items de un ListBox hace referencia a los elementos que pueden estar
agregados a él. De esta manera, a través de la propiedad Items es que se gestionan
funciones como: Add() para agregarle elementos, RemoveAt() para eliminarle elementos,
o Clear() para vaciar el ListBox. A continuación se detallan cada uno de ellos.

 Función Add() de la Propiedad Items: permite agregarle elementos a la lista


mediante programación, es decir, en modo de ejecución.
Sintaxis:
Nombre_ListBox.Items.Add(elemento)
Donde:
Nombre_ListBox: es el nombre del ListBox.
Items: es la propiedad Items con la que se gestionan los elementos en el ListBox.
Add(): es la función que permite agregarle elementos a la lista.
elemento: puede ser una variable, valor, cadena de caracteres, propiedad Text de otro
control, entre otros; y será el elemento a agregar a la lista.

2
Ing. Analys Petit Arteaga Controles Avanzados en VB .Net
Ejemplo:

Dim ele As String ' Se declara una variable ele como cadena de caracteres
ele = "Borrador" ' A la variable ele se le asigna el valor "Borrador"
ListBox1.Items.Add("Lápiz") ' Se agrega la cadena de caracteres "Lápiz" al ListBox1
ListBox1.Items.Add(ele) ' Se agrega el valor de la variable ele al ListBox1
ListBox1.Items.Add(TextBox1.Text) ' Se agrega el valor del Text del TextBox1 al ListBox1

Además del método Add() de la propiedad Items, a los


ListBox’s se le puede agregar datos en modo diseño,
directamente desde la propiedad Items que aparece en la
Ventana de Propiedades cuando el control ListBox está

seleccionado.
De esta forma, se presiona el botón de los tres
puntos y se abre una ventana en la que se va
escribiendo la lista de elementos que se desee que
aparezcan en el control ListBox que esté
seleccionado. Al finalizar se presiona el botón OK.

 Función RemoveAt() de la Propiedad Items: permite eliminar el elemento


seleccionado en la lista mediante programación, es decir, en modo de ejecución.
Sintaxis:
Nombre_ListBox.Items.RemoveAt(índice)
Donde:
Nombre_ListBox: es el nombre del ListBox.
Items: es la propiedad Items con la que se gestionan los elementos en el ListBox.
RemoveAt(): es la función que permite eliminar elementos seleccionados de la lista.
índice: puede ser una variable, o valor numérico que indica la posición que el elemento
a eliminar ocupa en la lista.

Ejemplo:

Dim i As Integer ' Se declara una variable i como un entero


i = ListBox1.SelectedIndex ' Se asigna a i el índice del elemento seleccionado en la Lista
If (i = -1) Then ' Se verifica que se haya seleccionado un elemento en la Lista
MsgBox("Debe Elegir un Elemento", MsgBoxStyle.Exclamation + MsgBoxStyle.OkOnly, "Error")
Else
ListBox1.Items.RemoveAt(i) ' Se elimina el elemento que ocupa la posición i en la Lista
End If

3
Ing. Analys Petit Arteaga Controles Avanzados en VB .Net
Importante: Antes de eliminar un elemento de un ListBox, es necesario verificar si
existe un elemento seleccionado, verificando que el valor devuelto por el método
SelectedIndex no sea -1, de no hacer esto, saldrá un error.

 Función Clear() de la Propiedad Items: permite eliminar todos los elementos de la


lista, dejándola vacía, mediante programación, es decir, en modo de ejecución.
Sintaxis:
Nombre_ListBox.Items.Clear()
Donde:
Nombre_ListBox: es el nombre del ListBox.
Items: es la propiedad Items con la que se gestionan los elementos en el ListBox.
Clear(): es la función que permite vaciar la lista.

Ejemplo: ListBox1.Items.Clear() ' Vacía el ListBox1

 Método Count de la Propiedad Items: devuelve la cantidad de elementos


almacenados en la lista.
Sintaxis:
Nombre_ListBox.Items.Count
Donde:
Nombre_ListBox: es el nombre del ListBox.
Items: es la propiedad Items con la que se gestionan los elementos en el ListBox.
Count: es el método que permite contar los elementos de la Lista.

Combos (ComboBox):
El control ComboBox permite crear una combinación de Caja de Texto con
Lista que puede contener elementos que pueden ser seleccionados. Su
funcionamiento es similar al del ListBox, mismos métodos, propiedades y
funciones para agregarle, eliminarle y vaciarle de elementos. Razón por la que
no voy a volver a explicar lo mismo.

Práctica

A continuación se muestra una práctica detallada sobre lo explicado anteriormente,


esta información, más la que su curiosidad le permita aprender de forma autodidacta (si
no posee esa curiosidad, le aconsejo cambiarse de carrera), podrán programar muchas
aplicaciones.
Crear un proyecto en VB con un formulario con el siguiente aspecto (en modo diseño):
4
Ing. Analys Petit Arteaga Controles Avanzados en VB .Net
Con sólo observarlo, ya se adivina que es lo que se
quiere: al presionar el botón Agregar, se agregará a la Lista
el número que se escriba en la primera Caja de Texto. Al
presionar el botón Eliminar, se eliminará el número
seleccionado en la Lista, y al presionar el botón Eliminar
Todo, se vaciará la Lista.
Sin embargo, la vida nunca es tan papaya, lo que
realmente quiero es que haga esto:
- Botón Agregar: obviamente permitirá agregar el número que se escriba en la primera
Caja de Texto, pero entiéndase bien NÚMERO, no deberá agregar ni caracteres
alfabéticos, ni caracteres especiales, ni mucho menos espacios en blanco. Al tratar de
agregar algo que no sea un NÚMERO, deberá mostrar un mensaje indicando el error.
Además, la Caja de Texto del Total se deberá ir actualizando con la sumatoria de cada
número que se vaya agregando.
- Botón Eliminar: adivinan? permitirá eliminar el número seleccionado en la lista .
Claro está que para que me permita eliminar dicho número, primero se debe verificar que
se haya seleccionado algún número de la lista, de lo contrario deberá indicarlo con un
mensaje. Además, si al verificar que si hay un número seleccionado en la lista, antes de
eliminar dicho elemento, debe enviar un mensaje al usuario preguntando si está seguro
de eliminar o no el número.
Por otro lado, recuerdan la sumatoria que se está mostrando en la Caja de Texto Total?
Bueno, cada vez que eliminen un número de la lista, deberán restarlo de ese total y
mostrar el total actualizado.
- Botón Eliminar Todo: Si… son unos bárbaros, adivinaron: al presionar ese botón se
deberá vaciar la lista y colocar en cero (0) el valor de la Caja de Texto Total y el cursor
deberá quedar en la primera Caja de Texto. Pero es muy importante que antes de vaciar
esa lista, pregunten mediante un mensaje al usuario, si está seguro de eliminar todos los
números de la Lista.
Por último, los botones Eliminar y Eliminar Todo sólo estarán habilitados cuando
existan números en la Lista, de lo contrario, esos dos
botones deberán estar deshabilitados.
Acá se muestra el Formulario en modo ejecución.
Como la lista está vacía, los botones de Eliminar y
Eliminar Todo están deshabilitados.

5
Ing. Analys Petit Arteaga Controles Avanzados en VB .Net
A continuación, mostraré el código que realiza todo lo especificado con anterioridad, l
cual se encuentra prácticamente documentado en todas sus líneas.

Observación: en el código del evento click del Button1 (botón Agregar), se puede
observar el uso de dos funciones:
Trim(arg): elimina los espacios en blanco, a la izquierda y a la derecha, del argumento
que se le ha pasado; recuerde: una cadena de caracteres puede estar formada de
espacios. Se usó para evitar que al dar espacios en blanco en el primer Cuadro de
Texto, y luego presionar el botón Agregar, se agregaran esos espacios a la Lista.
IsNumeric(arg): verifica si el argumento pasado, es numérico o no. devuelve True si
es numérico y False si no lo es.

6
Ing. Analys Petit Arteaga Controles Avanzados en VB .Net

También podría gustarte