Usuario
ayuda con drag and drop

Pregunta
-
buenos dias tengo una duda como puedo hacer para copiar un fichero en una ruta especifica digamos tengo un fichero lo arrastro a un panel donde este lo tiene que guardar en una ruta dejo parte de mi codigo haber si me pueden ayudar
con esta parte de codigo e.Effect = DragDropEffects.Copy; lo copia pero no se donde lo guarda yo quisiera que lo guarde en una ruta que yo le pase (siempre va ser la misma ruta string ruta = @"C:\carlos hp compartido\\";)
private void panel1_DragEnter(object sender, DragEventArgs e) { if (e.Data.GetDataPresent(DataFormats.FileDrop)) e.Effect = DragDropEffects.Copy; else e.Effect = DragDropEffects.None; } private void panel1_DragDrop(object sender, DragEventArgs e) { string ruta = @"C:\carlos hp compartido\\"; string[] file = (string[])e.Data.GetData(DataFormats.FileDrop, false); string rutafin= ruta + file; }
Todas las respuestas
-
con esta parte de codigo e.Effect = DragDropEffects.Copy; lo copia pero no se donde lo guarda
-
buenas gracias por tu ayuda tengo una pregunta como le pasas el objeto a copy ya que esa funcion solo admite strings
lo que yo intento hacer es copiar un fichero desde la bandeja de entrada a ese drag para que lo guarde en la ruta por defecto . ese objeto no tienen ruta creo yo que no tienen ruta creo yo nose si me puedes explicar mejor te lo agradecería mucho
private void panel1_DragDrop(object sender, DragEventArgs e) { string ruta = @"C:\carlos hp compartido\\"; string[] file = (string[])e.Data.GetData(DataFormats.FileDrop, false); System.IO.File.Copy(e.Data, System.IO.Path.Combine(ruta, file[1])); }
- Editado carlos carpio2 martes, 31 de enero de 2017 10:10
-
buenas gracias por tu ayuda tengo una pregunta como le pasas el objeto a copy ya que esa funcion solo admite strings
No, al Copy no le pasas un objeto, sino la ruta completa del fichero. Entiendo que esa ruta ya sabes sacarla del objeto, puesto que tú mismo pusiste el ejemplo de código que sacaba el fichero (o ficheros, ya que podrían haber pasado varios) llamando a e.Data.GetData.
string[] archivosArrastrados = (string[])e.Data.GetData(DataFormats.FileDrop, false); string archivoAcopiar = archivosArrastrados[0]; string archivoDestino = System.IO.Path.Combine(ruta, System.IO.Path.GetFileName(archivoAcopiar)); System.IO.File.Copy(archivoAcopiar, archivoDestino);