SlideShare une entreprise Scribd logo
1  sur  7
Por: Cesar Villacis.

Control ListBox

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    si quisiéramos agregar un elemento a un control llamado List1 en el
evento Click   de un botón, debemos escribir el nombre del ListBox y presionar el ".".
Visual Basic   desplegará la lista de propiedades y métodos del control List, en ella
buscamos el    métodoAddItem, como muestra la imagen:
El método AddItem tiene 2 parámetros.


AddItem "Elemento que vamos a agregar", "Index (posición)"


El primer parámetro es obligatorio, y es el elemento que vamos a añadir al control List.
El segundo parámetro no es obligatorio, es decir es opcional, y permite especificar el
lugar donde añadir el elemento, es decir la posición. A este se le pasa un número
entero, por ejemplo 0, 1, 5 etc...Si no se especifica una posición, el elemento que se
agrega es añadido al final de la lista.

Por ejemplo, si quisiera agregar 5 nombres de países en un control llamado List1,
cuando presionamos un Command1 :


Private                             Sub                             Command1_Click()

List1.AddItem                                                                 "Brasil"
List1.AddItem                                                                "Francia"
List1.AddItem                                                                 "Italia"
List1.AddItem                                                              "Argentina"
List1.AddItem                                                              "venezuela"


End Sub


Al probar lo anterior, Visual Basic no dió error al no indicar la posición o el parámetro
Index, ya que como se dijo dicho parámetro es opcional.

Para eliminar un elemento se utiliza el métodoRemoveItem. Este método tiene un
parámetro llamado Index en el cual debemos indicar la posición del elemento que
vamos a eliminar.

Por ejemplo:


Private                             Sub                             Command2_Click()
'Eliminamos      el              elemento           2         de         la         lista
List1.RemoveItem                                                                        2

End Sub


El ejemplo anterior eliminaría de la lista el elemento "Italia". Te preguntarás porque
elimina a "Italia" si este está en la posición 3. En realidad está en la posición 2, ya que
se comienza el conteo desde el 0, es decir en la lista del ejemplo anterior, "Brasil"
tiene el número 0, "Francia" el 1, "Italia" el 2 etc...

Importante: Al eliminar un elemento de la lista, el número relacionado al elemento o
Item a eliminar, debe estar en la lista, ya que si no daría un error al querer eliminar un
Item que no se encuentra.

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". Un Command1 y en el Caption
"Añadir". Al Command2 "Eliminar Seleccionado". Luego agrega un Text1 al lado del
control Label1 y un control List1.

El elemento que escribamos en el Text1, cuando se presione " Añadir " se agregará al
control List1, cuando presionemos el Command2 se eliminará de la lista el elemento
que se encuentre seleccionado.

Colocar el código en el formulario:


Private                    Sub                     Command1_Click()
If             Text1             =              ""             Then
MsgBox "Debe ingresar un nombre para poder agregar un elemento",
vbQuestion       +       vbOKOnly,       "Datos        incompletos"
'Salimos de la rutina ya que no se ha ingresado nada en el control
text1
Exit                                                                                Sub
EndIf

'Agregamos    el      contenido       del    Text1      en    el     control     List1
List1.AddItem                                                                    Text1
End                                                                                Sub

Private                        Sub                              Command2_Click()
'Si   la    lista    no   está     vacía          entonces    podemos    eliminar
If            List1.ListIndex                    <>            -1            Then
'Eliminamos     el    elemento     que           se    encuentra     seleccionado
List1.RemoveItem                                                  List1.ListIndex
EndIf
End Sub


En el ejemplo anterior cuando se presiona añadir, antes de utilizar el método AddItem
para añadir el contenido del Text1, se comprueba mediante un IF que el Text1 no está
vacío. Si está vacío se muestra un mensaje de error y se sale de la rutina mediante
Exit sub. Si se ha ingresado algún texto, ignora la cláusula IF Then y ejecuta la línea
que añade el Item.

En el botón de Eliminar el elemento seleccionado se utilizan una propiedad que no se
comentó llamada ListIndex. Esta propiedad nos devuelve el número del elemento que
se encuentra seleccionado actualmente. Cuando el ListBox no tiene ningún elemento
seleccionado, el valor de ListIndex es de -1. Para que no de error al querer eliminar un
elemento que no se encuentre seleccionado, primero debemos comprobar que el valor
de ListIndex es distinto a -1, por ejemplo


If List1.ListIdex <> -1 Then ....


Si el valor es distinto a -1 quiere decir que hay un elemento seleccionado, entonces se
procede a la eliminación del mismo, utilizando el métodoRemoveItem pasándole
como parámetro el número de ListIndex.

Propiedad Sorted:

Si quisiéramos ordenar el contenido, es decir los elementos del control List en forma
alfabética, debemos utilizar la propiedad Sorted.

Esta propiedad no se puede utilizar en tiempo de ejecución, si no que la debemos
establecer en tiempo de diseño desde la ventana de propiedades. Si la propiedad está
en True, la lista de elementos se mostrará en forma ordenada, si está en False sin
ordenar. Por defecto esta propiedad está con el Valor False.

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.
Por ejemplo:


Private                                Sub                          Command1_Click()

'Elimina           todo           el          contenido           del           ListBox
List1.Clear

End Sub


Este método no necesita ningún parámetro, solo ejecutarlo para que todo el contenido
del control sea eliminado. Tampoco produce un error si ejecutamos Clear y el ListBox
no tiene elementos, es decir si los tiene los elimina, si no tiene elementos y se ejecuta
Clear, no ocurre nada.
Control ComboBox.

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




Otro tipo de vistas del control ComboBox son las siguientes, 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. El segundo Simple Combo ya presenta la lista desplegada y no tiene un
botón para desplegar los elementos. El tercero DropdownList , es igual que el
DropDown, pero con la diferencia que no se puede ingresar un texto, solo se puede
seleccionar elementos.

Este control es muy parecido al control List en lo que se refiere a las propiedades y
métodos para manejar los datos, para agregar elementos se utiliza el
métodoAddItem.

Por ejemplo , el siguiente código añade 50 elementos en un bucle ForNext:
Dim                      Elemento                       As                      Integer

For           Elemento                  =            0               To              50
'Agregamos   el    valor         de     la    variable        Elemento     al     Combo
Combo1.AddItem                                                                        i
Next


Al igual que el control ListBox, para eliminar todo el contenido se usa el método Clear


'Eliminamos                     todo                    el                   contenido
Combo1.Clear


Al igual que el control List, para averiguar el valor de un determinado elemento se
utiliza la propiedad List especificándole el número del elemento, ListCount (para
saber el número de elementos), ListIndex (saber el elemento seleccionado), el
MétodoRemoveItem (Elimina el elemento especificado) etc..

Propiedad DataField y DataSource

Estas dos propiedades presente en el control ListBox y el control ComboBox, además
de varios otros controles de visual basic, como el Label, TextBox etc..., pemiten
enlazar los controles a una base de datos.


       DataField: Devuelve o establece un valor que enlaza un control con un campo
       del registro actual.
       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, lo siguiente, enlaza un control Combo1, que previamente está asociado a
un control Data1 mediante la propiedad DataSource, con el campo " Nombres " de una
tabla llamada Clientes, de la base de datos Bd1.Mdb.


Data1.DatabaseName                  =               App.Path&              "bd1.mdb"
Data1.RecordSource                              =                          "Clientes"

Combo1.DataField = "Nombres"

Contenu connexe

En vedette (20)

Pepis
PepisPepis
Pepis
 
Judaísmo.
Judaísmo.Judaísmo.
Judaísmo.
 
Regalos horoscopos
Regalos horoscoposRegalos horoscopos
Regalos horoscopos
 
Spyl50681 jaayar ruiz y olga martinez-tiempo para todo
Spyl50681 jaayar ruiz y olga martinez-tiempo para todoSpyl50681 jaayar ruiz y olga martinez-tiempo para todo
Spyl50681 jaayar ruiz y olga martinez-tiempo para todo
 
Presentacion de multimedios
Presentacion de multimediosPresentacion de multimedios
Presentacion de multimedios
 
Poder legislativo.pptx
Poder legislativo.pptxPoder legislativo.pptx
Poder legislativo.pptx
 
Tarea3
Tarea3Tarea3
Tarea3
 
Dos castillos templarios en el norte del reino de valencia xivert y peníscola
Dos castillos templarios en el norte del reino de valencia xivert y peníscolaDos castillos templarios en el norte del reino de valencia xivert y peníscola
Dos castillos templarios en el norte del reino de valencia xivert y peníscola
 
Diploma de mejor disfraz
Diploma de mejor disfrazDiploma de mejor disfraz
Diploma de mejor disfraz
 
Segunda Parcial
Segunda ParcialSegunda Parcial
Segunda Parcial
 
Igualdad de generos en la actualidad
Igualdad de generos en la actualidadIgualdad de generos en la actualidad
Igualdad de generos en la actualidad
 
Agenda caminata wayakuntu 2014
Agenda caminata wayakuntu 2014Agenda caminata wayakuntu 2014
Agenda caminata wayakuntu 2014
 
P 21. miguel peña
P 21. miguel peñaP 21. miguel peña
P 21. miguel peña
 
Lab070612combinacion
Lab070612combinacionLab070612combinacion
Lab070612combinacion
 
japones vs colom
japones vs colomjapones vs colom
japones vs colom
 
Funciones excel
Funciones excelFunciones excel
Funciones excel
 
Solución de conflictos
Solución de conflictosSolución de conflictos
Solución de conflictos
 
O 01. cristina de la osa barrachina
O 01. cristina de la osa barrachinaO 01. cristina de la osa barrachina
O 01. cristina de la osa barrachina
 
Virus informáticos
Virus informáticosVirus informáticos
Virus informáticos
 
Virus informáticos
Virus informáticosVirus informáticos
Virus informáticos
 

Similaire à Cesar villacis

Similaire à Cesar villacis (20)

Cuadro lista
Cuadro listaCuadro lista
Cuadro lista
 
Controles principales
Controles principalesControles principales
Controles principales
 
Control Listbox
Control ListboxControl Listbox
Control Listbox
 
Combobox Y Listbox
Combobox Y ListboxCombobox Y Listbox
Combobox Y Listbox
 
Listas
ListasListas
Listas
 
Listas enlazadas
Listas enlazadasListas enlazadas
Listas enlazadas
 
Controles swing listas
Controles swing listasControles swing listas
Controles swing listas
 
Listas enlazadas
Listas enlazadasListas enlazadas
Listas enlazadas
 
Listas enlazadas
Listas enlazadasListas enlazadas
Listas enlazadas
 
Pilas, colas & listas estructura de datos
Pilas, colas & listas   estructura de datosPilas, colas & listas   estructura de datos
Pilas, colas & listas estructura de datos
 
4 practica nota de venta
4 practica nota de venta4 practica nota de venta
4 practica nota de venta
 
Vb2008
Vb2008Vb2008
Vb2008
 
Android
AndroidAndroid
Android
 
B.d
B.dB.d
B.d
 
Objetivo interfas a codigo
Objetivo interfas a codigoObjetivo interfas a codigo
Objetivo interfas a codigo
 
Controles basicos final
Controles basicos finalControles basicos final
Controles basicos final
 
Taller listas en c#
Taller listas en c#Taller listas en c#
Taller listas en c#
 
PROYECTO No 4
PROYECTO No 4PROYECTO No 4
PROYECTO No 4
 
Controles básicos y controles de selección
Controles básicos y controles de selecciónControles básicos y controles de selección
Controles básicos y controles de selección
 
Tutorial Nro.5 Desarrollo de Aplicaciones Móviles con Android
Tutorial Nro.5 Desarrollo de Aplicaciones Móviles con AndroidTutorial Nro.5 Desarrollo de Aplicaciones Móviles con Android
Tutorial Nro.5 Desarrollo de Aplicaciones Móviles con Android
 

Cesar villacis

  • 1. Por: Cesar Villacis. Control ListBox 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 si quisiéramos agregar un elemento a un control llamado List1 en el evento Click de un botón, debemos escribir el nombre del ListBox y presionar el ".". Visual Basic desplegará la lista de propiedades y métodos del control List, en ella buscamos el métodoAddItem, como muestra la imagen:
  • 2. El método AddItem tiene 2 parámetros. AddItem "Elemento que vamos a agregar", "Index (posición)" El primer parámetro es obligatorio, y es el elemento que vamos a añadir al control List. El segundo parámetro no es obligatorio, es decir es opcional, y permite especificar el lugar donde añadir el elemento, es decir la posición. A este se le pasa un número entero, por ejemplo 0, 1, 5 etc...Si no se especifica una posición, el elemento que se agrega es añadido al final de la lista. Por ejemplo, si quisiera agregar 5 nombres de países en un control llamado List1, cuando presionamos un Command1 : Private Sub Command1_Click() List1.AddItem "Brasil" List1.AddItem "Francia" List1.AddItem "Italia" List1.AddItem "Argentina" List1.AddItem "venezuela" End Sub Al probar lo anterior, Visual Basic no dió error al no indicar la posición o el parámetro Index, ya que como se dijo dicho parámetro es opcional. Para eliminar un elemento se utiliza el métodoRemoveItem. Este método tiene un parámetro llamado Index en el cual debemos indicar la posición del elemento que vamos a eliminar. Por ejemplo: Private Sub Command2_Click()
  • 3. 'Eliminamos el elemento 2 de la lista List1.RemoveItem 2 End Sub El ejemplo anterior eliminaría de la lista el elemento "Italia". Te preguntarás porque elimina a "Italia" si este está en la posición 3. En realidad está en la posición 2, ya que se comienza el conteo desde el 0, es decir en la lista del ejemplo anterior, "Brasil" tiene el número 0, "Francia" el 1, "Italia" el 2 etc... Importante: Al eliminar un elemento de la lista, el número relacionado al elemento o Item a eliminar, debe estar en la lista, ya que si no daría un error al querer eliminar un Item que no se encuentra. 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". Un Command1 y en el Caption "Añadir". Al Command2 "Eliminar Seleccionado". Luego agrega un Text1 al lado del control Label1 y un control List1. El elemento que escribamos en el Text1, cuando se presione " Añadir " se agregará al control List1, cuando presionemos el Command2 se eliminará de la lista el elemento que se encuentre seleccionado. Colocar el código en el formulario: Private Sub Command1_Click() If Text1 = "" Then MsgBox "Debe ingresar un nombre para poder agregar un elemento", vbQuestion + vbOKOnly, "Datos incompletos" 'Salimos de la rutina ya que no se ha ingresado nada en el control text1
  • 4. Exit Sub EndIf 'Agregamos el contenido del Text1 en el control List1 List1.AddItem Text1 End Sub Private Sub Command2_Click() 'Si la lista no está vacía entonces podemos eliminar If List1.ListIndex <> -1 Then 'Eliminamos el elemento que se encuentra seleccionado List1.RemoveItem List1.ListIndex EndIf End Sub En el ejemplo anterior cuando se presiona añadir, antes de utilizar el método AddItem para añadir el contenido del Text1, se comprueba mediante un IF que el Text1 no está vacío. Si está vacío se muestra un mensaje de error y se sale de la rutina mediante Exit sub. Si se ha ingresado algún texto, ignora la cláusula IF Then y ejecuta la línea que añade el Item. En el botón de Eliminar el elemento seleccionado se utilizan una propiedad que no se comentó llamada ListIndex. Esta propiedad nos devuelve el número del elemento que se encuentra seleccionado actualmente. Cuando el ListBox no tiene ningún elemento seleccionado, el valor de ListIndex es de -1. Para que no de error al querer eliminar un elemento que no se encuentre seleccionado, primero debemos comprobar que el valor de ListIndex es distinto a -1, por ejemplo If List1.ListIdex <> -1 Then .... Si el valor es distinto a -1 quiere decir que hay un elemento seleccionado, entonces se procede a la eliminación del mismo, utilizando el métodoRemoveItem pasándole como parámetro el número de ListIndex. Propiedad Sorted: Si quisiéramos ordenar el contenido, es decir los elementos del control List en forma alfabética, debemos utilizar la propiedad Sorted. Esta propiedad no se puede utilizar en tiempo de ejecución, si no que la debemos establecer en tiempo de diseño desde la ventana de propiedades. Si la propiedad está en True, la lista de elementos se mostrará en forma ordenada, si está en False sin ordenar. Por defecto esta propiedad está con el Valor False. 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.
  • 5. Por ejemplo: Private Sub Command1_Click() 'Elimina todo el contenido del ListBox List1.Clear End Sub Este método no necesita ningún parámetro, solo ejecutarlo para que todo el contenido del control sea eliminado. Tampoco produce un error si ejecutamos Clear y el ListBox no tiene elementos, es decir si los tiene los elimina, si no tiene elementos y se ejecuta Clear, no ocurre nada.
  • 6. Control ComboBox. 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 Otro tipo de vistas del control ComboBox son las siguientes, 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. El segundo Simple Combo ya presenta la lista desplegada y no tiene un botón para desplegar los elementos. El tercero DropdownList , es igual que el DropDown, pero con la diferencia que no se puede ingresar un texto, solo se puede seleccionar elementos. Este control es muy parecido al control List en lo que se refiere a las propiedades y métodos para manejar los datos, para agregar elementos se utiliza el métodoAddItem. Por ejemplo , el siguiente código añade 50 elementos en un bucle ForNext:
  • 7. Dim Elemento As Integer For Elemento = 0 To 50 'Agregamos el valor de la variable Elemento al Combo Combo1.AddItem i Next Al igual que el control ListBox, para eliminar todo el contenido se usa el método Clear 'Eliminamos todo el contenido Combo1.Clear Al igual que el control List, para averiguar el valor de un determinado elemento se utiliza la propiedad List especificándole el número del elemento, ListCount (para saber el número de elementos), ListIndex (saber el elemento seleccionado), el MétodoRemoveItem (Elimina el elemento especificado) etc.. Propiedad DataField y DataSource Estas dos propiedades presente en el control ListBox y el control ComboBox, además de varios otros controles de visual basic, como el Label, TextBox etc..., pemiten enlazar los controles a una base de datos. DataField: Devuelve o establece un valor que enlaza un control con un campo del registro actual. 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, lo siguiente, enlaza un control Combo1, que previamente está asociado a un control Data1 mediante la propiedad DataSource, con el campo " Nombres " de una tabla llamada Clientes, de la base de datos Bd1.Mdb. Data1.DatabaseName = App.Path& "bd1.mdb" Data1.RecordSource = "Clientes" Combo1.DataField = "Nombres"