Cesar villacis

285 visualizaciones

Publicado el

0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
285
En SlideShare
0
De insertados
0
Número de insertados
2
Acciones
Compartido
0
Descargas
4
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

Cesar villacis

  1. 1. Por: Cesar Villacis.Control ListBoxEl control ListBox permite añadir elementos en forma de lista y también poderseleccionar elementos de la misma para trabajar los datos.Este control permite seleccionar un elemento solo o varios de ellos, utilizando lapropiedad Multiselect. La imagen de la izquierda muestra un ListBox en el que seselecciona un solo elemento y a la derecha se seleccionan varios:Para agregar elementos a un control ListBox en tiempo de diseño, se debe seleccionarel control Listbox, y desde la ventana de propiedades ubicarnos en la que se llamaList. Al desplegarla podemos agregar y remover elementos.Para esto se debe ingresar uno, luego mantener la tecla Ctrl presionada y presionarEnter, 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étodollamado AddItem.Por ejemplo si quisiéramos agregar un elemento a un control llamado List1 en elevento 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 ellabuscamos el métodoAddItem, como muestra la imagen:
  2. 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 ellugar donde añadir el elemento, es decir la posición. A este se le pasa un númeroentero, por ejemplo 0, 1, 5 etc...Si no se especifica una posición, el elemento que seagrega 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 SubAl probar lo anterior, Visual Basic no dió error al no indicar la posición o el parámetroIndex, ya que como se dijo dicho parámetro es opcional.Para eliminar un elemento se utiliza el métodoRemoveItem. Este método tiene unparámetro llamado Index en el cual debemos indicar la posición del elemento quevamos a eliminar.Por ejemplo:Private Sub Command2_Click()
  3. 3. Eliminamos el elemento 2 de la listaList1.RemoveItem 2End SubEl ejemplo anterior eliminaría de la lista el elemento "Italia". Te preguntarás porqueelimina a "Italia" si este está en la posición 3. En realidad está en la posición 2, ya quese 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 oItem a eliminar, debe estar en la lista, ya que si no daría un error al querer eliminar unItem que no se encuentra.Ejemplo simple para agregar y eliminar elementos de un control ListPara 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 delcontrol Label1 y un control List1.El elemento que escribamos en el Text1, cuando se presione " Añadir " se agregará alcontrol List1, cuando presionemos el Command2 se eliminará de la lista el elementoque se encuentre seleccionado.Colocar el código en el formulario:Private Sub Command1_Click()If Text1 = "" ThenMsgBox "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 controltext1
  4. 4. Exit SubEndIfAgregamos el contenido del Text1 en el control List1List1.AddItem Text1End SubPrivate Sub Command2_Click()Si la lista no está vacía entonces podemos eliminarIf List1.ListIndex <> -1 ThenEliminamos el elemento que se encuentra seleccionadoList1.RemoveItem List1.ListIndexEndIfEnd SubEn el ejemplo anterior cuando se presiona añadir, antes de utilizar el método AddItempara 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 medianteExit sub. Si se ha ingresado algún texto, ignora la cláusula IF Then y ejecuta la líneaque añade el Item.En el botón de Eliminar el elemento seleccionado se utilizan una propiedad que no secomentó llamada ListIndex. Esta propiedad nos devuelve el número del elemento quese encuentra seleccionado actualmente. Cuando el ListBox no tiene ningún elementoseleccionado, el valor de ListIndex es de -1. Para que no de error al querer eliminar unelemento que no se encuentre seleccionado, primero debemos comprobar que el valorde ListIndex es distinto a -1, por ejemploIf List1.ListIdex <> -1 Then ....Si el valor es distinto a -1 quiere decir que hay un elemento seleccionado, entonces seprocede a la eliminación del mismo, utilizando el métodoRemoveItem pasándolecomo parámetro el número de ListIndex.Propiedad Sorted:Si quisiéramos ordenar el contenido, es decir los elementos del control List en formaalfabética, debemos utilizar la propiedad Sorted.Esta propiedad no se puede utilizar en tiempo de ejecución, si no que la debemosestablecer 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 sinordenar. Por defecto esta propiedad está con el Valor False.Eliminar elementos con el método ClearPara eliminar todo el contenido de un control ListBox se utiliza el método o funciónllamado Clear.
  5. 5. Por ejemplo:Private Sub Command1_Click()Elimina todo el contenido del ListBoxList1.ClearEnd SubEste método no necesita ningún parámetro, solo ejecutarlo para que todo el contenidodel control sea eliminado. Tampoco produce un error si ejecutamos Clear y el ListBoxno tiene elementos, es decir si los tiene los elimina, si no tiene elementos y se ejecutaClear, no ocurre nada.
  6. 6. Control ComboBox.Este control muy utilizado en los programas nos permite mediante una listadesplegable poder seleccionar elementos, como también es posible introducirelementos a la mismaOtro tipo de vistas del control ComboBox son las siguientes, que se modifican desde lapropiedad Style del controlEl primero DropDown es el estilo por defecto y se despliega la lista cuando pulsamosen la flecha. El segundo Simple Combo ya presenta la lista desplegada y no tiene unbotón para desplegar los elementos. El tercero DropdownList , es igual que elDropDown, pero con la diferencia que no se puede ingresar un texto, solo se puedeseleccionar elementos.Este control es muy parecido al control List en lo que se refiere a las propiedades ymétodos para manejar los datos, para agregar elementos se utiliza elmétodoAddItem.Por ejemplo , el siguiente código añade 50 elementos en un bucle ForNext:
  7. 7. Dim Elemento As IntegerFor Elemento = 0 To 50Agregamos el valor de la variable Elemento al ComboCombo1.AddItem iNextAl igual que el control ListBox, para eliminar todo el contenido se usa el método ClearEliminamos todo el contenidoCombo1.ClearAl igual que el control List, para averiguar el valor de un determinado elemento seutiliza la propiedad List especificándole el número del elemento, ListCount (parasaber el número de elementos), ListIndex (saber el elemento seleccionado), elMétodoRemoveItem (Elimina el elemento especificado) etc..Propiedad DataField y DataSourceEstas dos propiedades presente en el control ListBox y el control ComboBox, ademásde varios otros controles de visual basic, como el Label, TextBox etc..., pemitenenlazar 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 datosPor ejemplo, lo siguiente, enlaza un control Combo1, que previamente está asociado aun control Data1 mediante la propiedad DataSource, con el campo " Nombres " de unatabla llamada Clientes, de la base de datos Bd1.Mdb.Data1.DatabaseName = App.Path& "bd1.mdb"Data1.RecordSource = "Clientes"Combo1.DataField = "Nombres"

×