Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: SRVAM en 11 Enero 2010, 08:52 am



Título: [C#] abrir archivos mediante Drag Drop
Publicado por: SRVAM en 11 Enero 2010, 08:52 am
buenas a todos!!

vengo con una nueva duda. esta vez se trata de como hacer que una apliacion pueda abrir un archivo .mp3 arrastro el archivo hasta mi programa.

pongo la propiedad AllowDrop en True, y luego en el evento Drag Drop no se como hacer para que al arrastrar en archivo, mi aplicacion lea el Path y ya pueda abrir el archivo :S

espero que podais ayudarme.

un  saludo!!! y gracias por adelantado ;)


Título: Re: [C#] abrir archivos mediante Drag Drop
Publicado por: Shell Root en 11 Enero 2010, 19:15 pm
Emmm!

http://www.code-magazine.com/article.aspx?quickid=0803041&page=5

Ejemplo de Drag-Drop
VB:
Código
  1.    Private Sub lstFile_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles lstFile.DragDrop
  2.        Try
  3.            ' Obtener un array de Strings con los archivos que se están colocando
  4.            Dim Rutas As String() = DirectCast(e.Data.GetData(DataFormats.FileDrop), String())
  5.  
  6.            ' Recorrer el array
  7.            For Each ruta As String In Rutas
  8.                ' obtiene la extensión del path
  9.                Dim extension As String = Path.GetExtension(ruta).ToLower
  10.  
  11.                ' si no es un direcotorio lo agrega a la lista
  12.                If extension.Length > 0 Then
  13.                    lstFile.Items.Add(ruta)
  14.                End If
  15.            Next
  16.        Catch ex As Exception
  17.            MsgBox(ex.ToString)
  18.        End Try
  19.    End Sub
  20.  
  21.    Private Sub lstFile_DragEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles lstFile.DragEnter
  22.        e.Effect = DragDropEffects.Copy
  23.    End Sub

C#:
Código
  1. private void lstFile_DragDrop(object sender, System.Windows.Forms.DragEventArgs e)
  2. {
  3.    try {
  4.        // Obtener un array de Strings con los archivos que se están colocando
  5.        string[] Rutas = (string[])e.Data.GetData(DataFormats.FileDrop);
  6.  
  7.        // Recorrer el array
  8.        foreach (string ruta in Rutas) {
  9.            // obtiene la extensión del path
  10.            string extension = Path.GetExtension(ruta).ToLower;
  11.  
  12.            // si no es un direcotorio lo agrega a la lista
  13.            if (extension.Length > 0) {
  14.                lstFile.Items.Add(ruta);
  15.            }
  16.        }
  17.    }
  18.    catch (Exception ex) {
  19.        Interaction.MsgBox(ex.ToString);
  20.    }
  21. }
  22.  
  23. private void lstFile_DragEnter(object sender, System.Windows.Forms.DragEventArgs e){
  24.    e.Effect = DragDropEffects.Copy;
  25. }
  26.  

Saludos!


Título: Re: [C#] abrir archivos mediante Drag Drop
Publicado por: SRVAM en 20 Enero 2010, 08:59 am
gracias por la info Shell Root ;)

era lo que necesitaba. muchas gracias  ;-)