DENYER HILARIO LAYZA

Control ListBox

CURSO DE LENGUAJE DE PROGRAMACION

12 de marzo de 2013

El control ListBox permite añadir elementos en forma de lista y también poder seleccionar elementos de la misma para trabajar los datos. Este control permite seleccionar un elemento solo o varios de ellos, utilizando la propiedad Multiselect. La imagen de la izquierda muestra un ListBox en el que se selecciona un solo elemento y a la derecha se seleccionan varios:

Para agregar elementos a un control ListBox en tiempo de diseño, se debe seleccionar el control Listbox, y desde la ventana de propiedades ubicarnos en la que se llama List. Al desplegarla podemos agregar y remover elementos. Para esto se debe ingresar uno, luego mantener la tecla Ctrl presionada y presionar Enter, y agregar el siguiente y asi con los demás. Para agregarlos en tiempo de ejecución, es decir mediante código, se utiliza un método llamado AddItem. Por ejemplo evento Click Visual Basic buscamos el si quisiéramos agregar un elemento a un control llamado List1 en el de un botón, debemos escribir el nombre del ListBox y presionar el ".". desplegará la lista de propiedades y métodos del control List, en ella método AddItem, como muestra la imagen:

AddItem List1.. Este método tiene un parámetro llamado Index en el cual debemos indicar la posición del elemento que vamos a eliminar. Para eliminar un elemento se utiliza el método RemoveItem.AddItem List1. "Index (posición)" El primer parámetro es obligatorio. Por ejemplo.AddItem List1. 1. A este se le pasa un número entero. 5 etc.. si quisiera agregar 5 nombres de países en un control llamado List1. es decir la posición. Por ejemplo: .AddItem End Sub "Brasil" "Francia" "Italia" "Argentina" "venezuela" Al probar lo anterior.AddItem List1. El segundo parámetro no es obligatorio.Si no se especifica una posición. y es el elemento que vamos a añadir al control List. ya que como se dijo dicho parámetro es opcional. es decir es opcional. AddItem "Elemento que vamos a agregar".DENYER HILARIO LAYZA CURSO DE LENGUAJE DE PROGRAMACION 12 de marzo de 2013 El método AddItem tiene 2 parámetros. por ejemplo 0. Visual Basic no dió error al no indicar la posición o el parámetro Index. y permite especificar el lugar donde añadir el elemento. cuando presionamos un Command1 : Private Sub Command1_Click() List1. el elemento que se agrega es añadido al final de la lista.

Ejemplo simple para agregar y eliminar elementos de un control List Para el siguiente ejemplo colocar los siguientes controles en un formulario como está en la imagen: Un control Label1 y en el Caption escribir "Nombre". ya que se comienza el conteo desde el 0. "Brasil" tiene el número 0.RemoveItem 2 End Sub El ejemplo anterior eliminaría de la lista el elemento "Italia". Importante: Al eliminar un elemento de la lista.. Te preguntarás porque elimina a "Italia" si este está en la posición 3. "Italia" el 2 etc. cuando presionemos el Command2 se eliminará de la lista el elemento que se encuentre seleccionado. es decir en la lista del ejemplo anterior. "Francia" el 1. Colocar el código en el formulario: . debe estar en la lista.. El elemento que escribamos en el Text1. Un Command1 y en el Caption "Añadir". Luego agrega un Text1 al lado del control Label1 y un control List1. ya que si no daría un error al querer eliminar un Item que no se encuentra. el número relacionado al elemento o Item a eliminar. En realidad está en la posición 2. cuando se presione " Añadir " se agregará al control List1. Al Command2 "Eliminar Seleccionado".DENYER HILARIO LAYZA Private Sub Command2_Click() CURSO DE LENGUAJE DE PROGRAMACION 12 de marzo de 2013 'Eliminamos el elemento 2 de la lista List1.

si no que la debemos establecer en tiempo de diseño desde la ventana de propiedades. Si la propiedad . En el botón de Eliminar el elemento seleccionado se utilizan una propiedad que no se comentó llamada ListIndex. Si el valor es distinto a -1 quiere decir que hay un elemento seleccionado. Si se ha ingresado algún texto. utilizando el método RemoveItempasándole como parámetro el número de ListIndex. el valor de ListIndex es de -1.AddItem Text1 End Sub Private Sub Command2_Click() 'Si la lista no está vacía entonces podemos eliminar If List1. se comprueba mediante un IF que el Text1 no está vacío. "Datos incompletos" 'Salimos de la rutina ya que no se ha ingresado nada en el control text1 Exit Sub End If 'Agregamos el contenido del Text1 en el control List1 List1..ListIndex <> -1 Then 'Eliminamos el elemento que se encuentra seleccionado List1. Propiedad Sorted: Si quisiéramos ordenar el contenido.. primero debemos comprobar que el valor de ListIndex es distinto a -1. por ejemplo If List1.DENYER HILARIO LAYZA CURSO DE LENGUAJE DE PROGRAMACION 12 de marzo de 2013 Private Sub Command1_Click() If Text1 = "" Then MsgBox "Debe ingresar un nombre para poder agregar un elemento".ListIndex End If End Sub En el ejemplo anterior cuando se presiona añadir. vbQuestion + vbOKOnly. entonces se procede a la eliminación del mismo. Cuando el ListBox no tiene ningún elemento seleccionado. Si está vacío se muestra un mensaje de error y se sale de la rutina mediante Exit sub.. Esta propiedad no se puede utilizar en tiempo de ejecución.ListIdex <> -1 Then . ignora la cláusula IF Then y ejecuta la línea que añade el Item. Para que no de error al querer eliminar un elemento que no se encuentre seleccionado. debemos utilizar la propiedad Sorted.RemoveItem List1. es decir los elementos del control List en forma alfabética. antes de utilizar el método AddItem para añadir el contenido del Text1. Esta propiedad nos devuelve el número del elemento que se encuentra seleccionado actualmente.

Clear End Sub Este método no necesita ningún parámetro.DENYER HILARIO LAYZA CURSO DE LENGUAJE DE PROGRAMACION 12 de marzo de 2013 está en True. Eliminar elementos con el método Clear Para eliminar todo el contenido de un control ListBox se utiliza el método o función llamado Clear. si no tiene elementos y se ejecuta Clear. la lista de elementos se mostrará en forma ordenada. Por defecto esta propiedad está con el Valor False. no ocurre nada.AddItem "Enero" List1.AddItem "Marzo" 'Mostramos medianete un mensaje la cantidad de elementos 'del contenido del ListBox. consultando el valor de la propiedad ListCount : Private Sub Command1_Click() 'Agregamos 3 elementos al listado List1. Propiedad ListCount La propiedad ListCount devuelve la cantidad de elementos que contiene el control. cuando se presiona un Command1. si está en False sin ordenar.AddItem "Febrero" List1. Tampoco produce un error si ejecutamos Clear y el ListBox no tiene elementos. mediante un MsgBox. solo ejecutarlo para que todo el contenido del control sea eliminado. Luego se muestra un mensaje. Por ejemplo: Private Sub Command1_Click() 'Elimina todo el contenido del ListBox List1. se agregan 3 elementos. en este caso devuelve 3 MsgBox List1. Por ejemplo. con la cantidad de elementos del control. en las siguientes líneas.ListCount End Sub . es decir si los tiene los elimina.

Si pasáramos un número.List(List1. haríamos lo siguiente: Colocar un List1 y un Label1.AddItem "Marzo" End Sub Private Sub List1_Click() 'Cuando hacemos Click en un elemento del List1 _ mostramos en el Label1 el texto del elemento Label1 = List1. Siguiendo el ejemplo anterior en el que teníamos 3 elementos. obtenemos el texto del elemento actualmente seleccionado. si se hiciera esto Private Label1 End Sub Sub = List1_Click() List1. se agregan 3 elementos cualquiera.DENYER HILARIO LAYZA CURSO DE LENGUAJE DE PROGRAMACION 12 de marzo de 2013 Propiedad List La propiedad List devuelve o establece los elementos contenidos en la lista del control. cuando carga el formulario en el evento Load. El restante código se encuentra en el evento Click del control List.ListIndex) End Sub En el código anterior. nos mostraría el texto del elemento que corresponde a ese número dentro del ListBox. y utilizando la propiedad List y pasándole otra propiedad ya vista " ListIndex ".AddItem "Febrero" List1.AddItem "Enero" List1. Un ejemplo: si quisiera mostrar en un Label1 el texto del elemento que se selecciona. por eso se ejecutará cada vez que hagamos un Click en el mismo. Pegar esto en el formulario: Private Sub Form_Load() 'Agregamos 3 elementos al listado List1. Esta propiedad lleva un parámetro que indica el número del elemento que se quiere consultar.List(2) .

Otras propiedades del control ListBox son:   Propiedad Backcolor : Establece el color de fondo del control Propiedad Enabled : Permite habilitar o deshabilitar el control ListBox Valores True y False  Propiedad Font : Establece el tipo de fuente. etc.DENYER HILARIO LAYZA CURSO DE LENGUAJE DE PROGRAMACION 12 de marzo de 2013 .   Evento GotFocus: Ocurre cuando el control recibe el enfoque.. que en este caso corresponde a "Enero".el control Label1 mostraría el texto del elemento 2. Evento LostFocus: Ocurre cuando un objeto Pierde el enfoque el control .  Evento DblClick: Ocurre cuando el usuario presiona y libera un botón del mouse y después lo vuelve a presionar y liberar sobre un objeto.. Esto como ya se indicó antes es porque el primer elemento en la lista es el 0.... tamaño estilo etc. que sería "Marzo".. el segundo elemento es el 1. en este caso "Febrero" . en este enlace hay un ejemplo simple del uso de este evento: DragDrop entre dos listbox  Evento DragOver: Ocurre cuando una operación de arrastrar y colocar está en curso. de los elementos    Propiedad ForeColor : Establece el color de la fuente de los elementos Propiedad Height y Width : Establece el ancho y alto del control Propiedad MultiSelect : Permite indicar si el ListBox se podrá seleccionar mas de un elemento  Propiedad Visible : Si está en True el control será visible si está en False estará oculto Eventos del control ListBox Los eventos principales del control son:  Evento Click: Ocurre cuando el usuario presiona y libera un botón del mouse encima de un objeto.  Evento DragDrop: Ocurre cuando finaliza una operación de arrastrar y colocar.

  Evento MouseMove: Ocurre cuando el usuario mueve el mouse. Este control muy utilizado en los programas nos permite mediante una lista desplegable poder seleccionar elementos. como también es posible introducir elementos a la misma . Control ComboBox.DENYER HILARIO LAYZA CURSO DE LENGUAJE DE PROGRAMACION 12 de marzo de 2013  Evento ItemCheck: Ocurre cuando la propiedad Style de un control ListBox es 1 (casillas de verificación) y la casilla de verificación de un elemento en el control ListBox está activada o desactivada.  Evento MouseDown: Ocurre cuando el usuario presiona el botón del mouse mientras un objeto tiene el enfoque. Evento MouseUp: Ocurre cuando el usuario libera el botón del mouse mientras un objeto tiene el enfoque. Evento KeyUp: se produce cuando el usuario libera una tecla mientras el control tiene el enfoque.  Evento KeyDown: Ocurre cuando el usuario presiona una tecla mientras un objeto tiene el enfoque. es decir cuando se mueve la barra de Scoll  Evento Validate: Se produce cuando un control pierde el enfoque en favor de un control que produce una validación.   Evento KeyPress: Ocurre cuando el usuario presiona y libera una tecla ANSI.  Evento Scroll: Ocurre cuando cambia la posición de un cuadro de desplazamiento en un control.

para agregar elementos se utiliza el métodoAddItem. pero con la diferencia que no se puede ingresar un texto. Por ejemplo .DENYER HILARIO LAYZA CURSO DE LENGUAJE DE PROGRAMACION 12 de marzo de 2013 Otro tipo de vistas del control ComboBox son las siguientes. el siguiente código añade 50 elementos en un bucle For Next: Dim Elemento As Integer For Elemento = 0 To 50 'Agregamos el valor de la variable Elemento al Combo . solo se puede seleccionar elementos. El tercero DropdownList . El segundo Simple Combo ya presenta la lista desplegada y no tiene un botón para desplegar los elementos. que se modifican desde la propiedad Style del control El primero DropDown es el estilo por defecto y se despliega la lista cuando pulsamos en la flecha. es igual que el DropDown. Este control es muy parecido al control List en lo que se refiere a las propiedades y métodos para manejar los datos.

.DENYER HILARIO LAYZA Combo1. además de varios otros controles de visual basic. ListIndex (saber el elemento seleccionado). TextBox etc. que previamente está asociado a un control Data1 mediante la propiedad DataSource. lo siguiente. para eliminar todo el contenido se usa el método Clear 'Eliminamos Combo1. ListCount (para saber el número de elementos).AddItem i Next CURSO DE LENGUAJE DE PROGRAMACION 12 de marzo de 2013 Al igual que el control ListBox.DataField = "Nombres" . de la base de datos Bd1.Clear todo el contenido Al igual que el control List. pemiten enlazar los controles a una base de datos.. Data1. como el Label. con el campo " Nombres " de una tabla llamada Clientes.Path & "\bd1... Propiedad DataField y DataSource Estas dos propiedades presente en el control ListBox y el control ComboBox.Mdb.RecordSource = "Clientes" Combo1. para averiguar el valor de un determinado elemento se utiliza la propiedad List especificándole el número del elemento. enlaza un control Combo1.  DataSource: Establece un valor que especifica el control de datos mediante el cual se enlaza el control actual a una base de datos Por ejemplo.DatabaseName = App.  DataField: Devuelve o establece un valor que enlaza un control con un campo del registro actual.mdb" Data1. el Método RemoveItem (Elimina el elemento especificado) etc.

Sign up to vote on this title
UsefulNot useful