Sunteți pe pagina 1din 6

Curso: Visual Basic Avanzado Sesin 03

Tema: Uso de los Controles TreeView y ListView

TEORA
CONTROL TREEVIEW:
Muestra una coleccin jerrquica de elementos con etiquetas, representado cada uno por un
TreeNode. Un objeto TreeNode representa un nodo.
La coleccin Nodes contiene todos los objetos TreeNode asignados al control TreeView.A los
nodos de rbol de esta coleccin se les conoce como los nodos de rbol raz. Cualquier nodo de
rbol que se agregue posteriormente a un nodo de rbol raz se conoce como nodo secundario.
Como cada TreeNode puede contener una coleccin de otros objetos TreeNode, puede ser difcil
determinar la ubicacin en la estructura de rbol cuando se recorre la coleccin en iteracin. Se
puede analizar la cadena TreeNode.FullPath usando el valor de la cadena PathSeparator para
determinar dnde empieza y termina una etiqueta TreeNode.
Se pueden mostrar imgenes junto a los nodos del rbol asignando un ImageList a la propiedad
ImageList y haciendo referencia al valor de ndice de una Image de ImageList para asignar esa
Image.Utilice las propiedades siguientes para asignar las imgenes:

Establezca la propiedad ImageIndex en el valor de ndice de la Image que desea que se


muestre cuando no est seleccionado un nodo de rbol.
Establezca la propiedad SelectedImageIndex en el valor de ndice de la Image que desea
que se muestre cuando no est seleccionado un nodo de rbol.

Las imgenes a las que hacen referencia los valores de las propiedades ImageIndex y
SelectedImageIndex son las imgenes predeterminadas que muestran todos los nodos de rbol
asignados a la coleccin Nodes.Los nodos de rbol individuales pueden reemplazar las imgenes
predeterminadas
estableciendo
las
propiedades
TreeNode.ImageIndex
y
TreeNode.SelectedImageIndex.
Los nodos de rbol se pueden expandir para mostrar el siguiente nivel de nodos de rbol
secundarios.El usuario puede expandir el TreeNode haciendo clic en el botn con el signo ms (+),
si se muestra al lado del TreeNode, o se puede expandir el TreeNode llamando al mtodo
TreeNode.Expand. Para expandir todos los niveles de nodos de rbol secundarios de la coleccin
Nodes, llame al mtodo ExpandAll. El nivel secundario del TreeNode se puede contraer llamando
al mtodo TreeNode.Collapse, o el usuario puede presionar el botn con el signo menos (-) si se
muestra al lado del TreeNode. Tambin se puede llamar al mtodo TreeNode.Toggle para alternar
los estados de rbol expandido y contrado.
Instructor: Jorge Luis Vizcarra Crdenas

Si se desea, los nodos de rbol pueden mostrar casillas.Para mostrar casillas, establezca la
propiedad CheckBoxes de la TreeView en true.La propiedad Checked se establece en true para
nodos de rbol en estado activado.
La apariencia del control TreeView se puede cambiar estableciendo algunas de sus propiedades de
presentacin y estilo.Si se establece ShowPlusMinus en true, se muestra un botn con el signo
ms (+) o con el signo menos (-) junto a cada TreeNode que se puede expandir o contraer, segn
corresponda.Si se establece la propiedad ShowRootLines en true, la TreeView muestra lneas que
unen entre s todos los nodos de rbol raz.Se pueden mostrar lneas que unan los nodos de rbol
secundarios con su correspondiente nodo raz estableciendo la propiedad ShowLines en true. Si se
establece la propiedad HotTracking en true, cambia la apariencia de las etiquetas de nodo de rbol
cuando el puntero del mouse pasa sobre ellas.Cuando se hace un seguimiento completo de las
etiquetas de los nodos de rbol, dichas etiquetas tienen el aspecto de un hipervnculo. Tambin se
puede personalizar totalmente la apariencia del control TreeView. Para ello, establezca la
propiedad DrawMode en un valor distinto de TreeViewDrawMode. Normal y controle el evento
DrawNode.
CONTROL LISTVIEW:
Representa un control de vista de lista de Windows, el cual muestra una coleccin de elementos
que se pueden ver mediante una de cuatro vistas distintas.
Un control ListView permite mostrar una lista de elementos con texto y, de forma opcional, con un
icono que identifique el tipo de elemento.Por ejemplo, la lista de archivos del Explorador de
Windows es similar en apariencia a un control ListView.Muestra una lista de los archivos y
carpetas seleccionados actualmente en el rbol.Cada archivo y cada carpeta muestra un icono
asociado para ayudar a identificar el tipo de archivo o carpeta.La clase ListViewItem representa un
elemento dentro de un control ListView.Los elementos que se muestran en la lista se pueden
presentar en una de cinco vistas distintas.Se pueden mostrar como iconos grandes, como iconos
pequeos o como iconos pequeos en una lista vertical.Los elementos tambin pueden tener
subelementos que contengan informacin relacionada con el elemento primario.La vista de
detalles permite mostrar el elemento y sus subelementos en una cuadrcula con encabezados de
columna que identifican la informacin que se presenta en un subelemento.La vista en mosaico,
que tiene una disponibilidad limitada tal como se describe ms abajo, permite mostrar el
elemento y sus subelementos como un mosaico que contiene un icono grande junto a la
informacin textual.ListView admite una seleccin nica o mltiple.La caracterstica de seleccin
mltiple permite a los usuarios hacer su seleccin en una lista de elementos de forma similar a un
control ListBox.Adems, el usuario puede activar elementos seleccionados para realizar una
tarea.Por ejemplo, se puede utilizar un control ListView para mostrar una lista de archivos que la
aplicacin puede abrir y utilizar.El usuario puede seleccionar los archivos que desea abrir y, a
continuacin, hacer doble clic en ellos para activar los elementos y abrir los archivos en la
aplicacin.El ListView tambin puede mostrar casillas, mediante la propiedad CheckBoxes, para
Instructor: Jorge Luis Vizcarra Crdenas

permitir al usuario activar los elementos sobre los que desea realizar una accin.El control
ListView se puede utilizar de diversas formas.Por ejemplo, para mostrar informacin de una
aplicacin, una base de datos o un archivo de texto.El ListView tambin se puede utilizar para
obtener informacin suministrada por el usuario, como la seleccin de un conjunto de archivos
para su procesamiento.
ListView ofrece un gran nmero de propiedades que proporcionan flexibilidad a la apariencia y al
comportamiento. La propiedad View permite cambiar la forma en la que se muestran los
elementos.Las propiedades LargeImageList, SmallImageList y StateImageList permiten especificar
los objetos ImageList que contienen las imgenes que se muestran para los elementos y, en el
caso del StateImageList, las casillas que se muestran cuando la propiedad CheckBoxes est
establecida en true. Para determinar los elementos activados, puede utilizar la propiedad
CheckedItems para obtener acceso a la coleccin ListView.CheckedListViewItemCollection.La
propiedad Columns permite obtener acceso al ListView.ColumnHeaderCollection, el cual almacena
los encabezados de columna que se muestran cuando la propiedad View del control est
establecida en Details.Los elementos se agregan y se quitan del ListView mediante la propiedad
Items.La propiedad Items permite obtener acceso al ListView.ListViewItemCollection del control,
el cual proporciona mtodos para manipular los elementos del control.Si desea permitir al usuario
editar el texto de un elemento, puede utilizar la propiedad LabelEdit.Cuando el control contiene
un gran nmero de elementos, a veces es ms sencillo para el usuario verlos de forma
ordenada.Se puede utilizar la propiedad Sorting para ordenar los elementos alfabticamente.
Tambin se puede personalizar totalmente la apariencia de un control ListView.Para ello,
establezca el valor de la propiedad OwnerDraw en true y controle uno o varios de los siguientes
eventos: DrawItem, DrawSubItem y DrawColumnHeader.
Muchas de las propiedades del control ListView se utilizan cuando la propiedad View est
establecida en Details. La propiedad AllowColumnReorder permite al usuario del control ListView
volver a configurar el orden de las columnas en tiempo de ejecucin.La propiedad FullRowSelect
permite seleccionar un elemento y sus subelementos en lugar de slo el elemento.Para mostrar
lneas de cuadrcula en la vista de detalles que identifiquen los lmites de los elementos y
subelementos en el ListView, se puede usar la propiedad GridLines. La propiedad HeaderStyle
permite especificar el tipo de encabezado de columna que se va a mostrar.
Un control ListView puede funcionar en modo virtual, donde los objetos ListViewItem se generan
dinmicamente en vez de almacenarse en la coleccin de Items.Esto puede ser til para ocuparse
de listas muy largas o cuyo contenido cambie frecuentemente .Para habilitar el modo virtual,
establezca la propiedad VirtualMode en true y controle los eventos RetrieveVirtualItem,
CacheVirtualItems y SearchForVirtualItem.
Adems de las distintas propiedades disponibles para un control ListView, existen mtodos y
eventos que la aplicacin puede utilizar para proporcionar funciones adicionales al ListView.Los
mtodos BeginUpdate y EndUpdate permiten mejorar el rendimiento cuando se agregan muchos
elementos a un control ListView, impidiendo que se vuelva a dibujar el control cada vez que se
agrega un elemento.Si el control ListView muestra elementos y subelementos, es posible que
Instructor: Jorge Luis Vizcarra Crdenas

desee proporcionar alguna funcionalidad cuando el usuario haga clic con el botn secundario del
mouse en un subelemento.Para determinar el elemento en cuyo subelemento se est haciendo
clic, se puede utilizar el mtodo GetItemAt.Al realizar la validacin de los elementos despus de
que el usuario los haya editado, es posible que desee mostrar un elemento especfico al usuario
para que lo cambie.Se puede llamar al mtodo EnsureVisible para garantizar que el elemento
especfico se encuentre en el rea visible del control.
Si la propiedad LabelEdit est establecida en true, se pueden realizar tareas como la validacin del
texto editado antes y despus de cambiarlo mediante la creacin de un controlador de eventos
para los eventos BeforeLabelEdit y AfterLabelEdit.Para realizar tareas como la apertura de un
archivo o la presentacin de un cuadro de dilogo para editar un elemento mostrado en un
ListView, puede crear un controlador de eventos para el evento ItemActivate.Si permite al usuario
ordenar los elementos de un ListView al hacer clic en un encabezado de columna, puede crear un
controlador de eventos para el evento ColumnClick que realice la ordenacin.Cuando la propiedad
CheckBoxes est establecida en true, puede determinar cundo se ha producido un cambio en el
estado de activacin de un elemento mediante el control del evento ItemCheck.
Tambin puede establecer una imagen de fondo para ListView con la propiedad
BackgroundImage.La aplicacin debe tener STAThreadAttribute en su mtodo Main para mostrar
correctamente la imagen de fondo para el control ListView.Adems, si un control ListView con una
imagen de fondo se hospeda en Internet Explorer, para garantizar que la imagen de fondo se
muestra correctamente hay que especificar la versin 6.0 de comctl32.dll como el ensamblado
dependiente en el archivo de manifiesto de aplicacin.
INFORMACIN ADICIONAL:

Para obtener informacin adicional respecto al control Treeview, puede seguir este link:
http://msdn.microsoft.com/es-es/library/system.windows.forms.treeview.aspx
Para obtener informacin adicional respecto al control ListView, puede seguir el siguiente
link: http://msdn.microsoft.com/es-es/library/system.windows.forms.listview.aspx

Fuente:

Instructor: Jorge Luis Vizcarra Crdenas

CREANDO UNA APLICACIN DE EJEMPLO:


Construir un visor de unidades de almacenamiento, carpetas y archivos de la PC
1. Inicie Visual Studio 2008 y cree un nuevo proyecto basado en la plantilla Aplicaciones de
Windows Forms
2. Cree la siguiente Interfaz de Usuario, (Controles utilizados: Panel(3), Button (2),
ComboBox(1), TreeView(1), ListView(1). El Instructor le indicar el proceso de creacin de
la Interfaz, incluyendo cambio de nombre en los objetos.

3. Haga Doble click en el botn titulado Crear y en el evento, escriba el siguiente cdigo,
antes de escribir este cdigo, asegrese que incluir la llamada al espacio de nombres
System.IO para poder utilizarla en esta aplicacin:

Instructor: Jorge Luis Vizcarra Crdenas

4. Haga doble click en el control Treeview y escriba el siguiente cdigo en el evento

5. Defina la Funcin CleanPath como se muestra a continuacin

6. Haga doble click en el ComboBox de la parte superior de su formulario y en el evento


escriba el siguiente cdigo:

No olvide habilitar el espacio de Nombres System.IO al inicio de su cdigo


Pruebe el formulario y verifique que pueda desplazarse entre unidades de almacenamiento y
carpetas de su computadora.

Instructor: Jorge Luis Vizcarra Crdenas

S-ar putea să vă placă și