Pues lo que pasa es que estoy migrando una aplicacion(mensajero interno) de vb6 a vb.net y tengo problemas en esta parte del proceso.-
tengo un listview que al arrastrar archivos del explorador de windows se le almacena su icono, nombre, tamaño etc.. y al mismo tiempo creo una copia temporal del archivo arrastrado...(se puede llamar adjuncion de archivos como en el outlook)
Hastaki todo esta bien en Vb.Net
El problema esta en la operacion contraria..es decir, que si mi listview ya tiene un archivo adjunto y si quiero arrastrar el archivo(item del list view) hacia el explorador de windows, me cree una copia del mismo.. asi como lo hace el mismo explorador de windows...
este problema lo tengo en .net pork en vb6 funciona bien y uso el siguiente codigo para que funcione en vb6.
en el evento mouse ejecuto el evento OLEDrag del listview
Código:
Me.ListView1.OLEDrag
Y en el evento OLEStartDrag
Código:
Esto es lo que necesito pasar a .net, pero no encuentro la forma he probado con Private Sub ListView1_OLEStartDrag(Data As MSComctlLib.DataObject, AllowedEffects As Long) On Error Resume Next Data.Files.Clear For i = 1 To ListView1.ListItems.Count If ListView1.ListItems(i).Selected Then Data.Files.Add ListView1.ListItems.Item(i).SubItems(3) End If Next i Data.SetData , vbCFFiles AllowedEffects = vbDropEffectCopy End Sub
Código:
Esperando su ayuda muchas gracias....... Dim d As New DataObject(algun item seleccionado que contiene la ruta del archivo) ListView1.DoDragDrop(d, DragDropEffects.Copy)