Sección de códigos , trucos y ejemplos para visual basic


125 - Hacer un Drag and Drop de elementos en un ListView

<Volver> - Anterior - Siguiente



 

Contenido

 

 

 

 

 

 


Ejemplo 1 - Drag&Drop de items en Listview

Este ejemplo muestra como poder utilizar los eventos OLESetData y OleDragDrop para realizar un Drag and Drop ( Arrastre de elementos o de Items) desde un ListView hacia otro

Formulario con los ListView

Ejemplo de dragandDrop de items entre controles Listview

 

El ListView1 debe tener la propiedad OLEDragMode en ccOLEDragAutomatic y el ListView2 la propiedad OLEDropMode en ccOLEDropManual, para habilitar el Drag and Drop respectivamente.

Una ves que se seleccionan los items en el Listview1 y se arrastran al segundo, se dispara en el listview 2 el evento OLEDragDrop.

Cuando llega a la línea ListaItems = Data.GetData(vbCFText) , se dispara el otro evento del Lv1, se recorre la lista de elementos en un For Next, se almacena en una variable de cadena esa lista con los elementos seleccionados, luego vuelve al evento y los agrega.

Nota. Este ejemplo permite seleccionar varios items,y todos los que se arrastren se agregarán al final de la lista, es decir al final del control ListView número 2. Para poder añadirlos en una ubicación concreta, es decir donde se encuentre el mouse, una forma es utilizando el método HitTest en el evento Ole_DragOver visto en el ejemplo siguiente de esta página.

 

Controles

 

Código fuente en el formulario

 


Mover Items y colocarlos en una posición concreta

Este código fuente a diferencia del anterior, permite mover los items desde el control origen ( los que se arrastran ) , hacia el control destino. Al realizar la operación de Drag&Drop de los elementos, se eliminan los items del primer Listview.

También, se pueden colocar los elementos en la posición donde se desee ( La posición del mosue ). Para seleccionar el item mientras se realiza la operación de arrastre, (sobre el Listview número 2), se utiliza la función HitTest del control Listview en el evento OLEDragOver.

vista previa del form de ejemplo

Iniciar un nuevo proyecto y colocar los siguientes controles:

Código fuente en el Form principal

 


Mover elementos mediante botones

Este otro ejemplo no realiza Drag&Drop, en cambio muestra una forma de mover elementos desde un control hacia el otro, utilizando para ello dos botones.

Para mover y pasar los elementos entre ambos controles, se establece la propiedad Checkboxes en True para poder seleccionarlos.

Nota importante . El ejemplo requiere items con clave.

Vista previa del formulario

Colocar dos ListView y establecerle a ambos la propiedad Checkboxes con el valor True.

Código fuente en el FRM principal

 


Enlaces relacionados

 



Buscar en Recursos vb