[C#] abrir archivos mediante Drag Drop

Iniciado por SRVAM, 11 Enero 2010, 08:52 AM

0 Miembros y 1 Visitante están viendo este tema.

SRVAM

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 ;)
C# Programmer

-Estudiante MCTS .NET Framework 3.5-

Shell Root

#1
Emmm!

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

Ejemplo de Drag-Drop
VB:
Código (vbnet) [Seleccionar]
   Private Sub lstFile_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles lstFile.DragDrop
       Try
           ' Obtener un array de Strings con los archivos que se están colocando
           Dim Rutas As String() = DirectCast(e.Data.GetData(DataFormats.FileDrop), String())

           ' Recorrer el array
           For Each ruta As String In Rutas
               ' obtiene la extensión del path
               Dim extension As String = Path.GetExtension(ruta).ToLower

               ' si no es un direcotorio lo agrega a la lista
               If extension.Length > 0 Then
                   lstFile.Items.Add(ruta)
               End If
           Next
       Catch ex As Exception
           MsgBox(ex.ToString)
       End Try
   End Sub

   Private Sub lstFile_DragEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles lstFile.DragEnter
       e.Effect = DragDropEffects.Copy
   End Sub


C#:
Código (csharp) [Seleccionar]
private void lstFile_DragDrop(object sender, System.Windows.Forms.DragEventArgs e)
{
    try {
        // Obtener un array de Strings con los archivos que se están colocando
        string[] Rutas = (string[])e.Data.GetData(DataFormats.FileDrop);
       
        // Recorrer el array
        foreach (string ruta in Rutas) {
            // obtiene la extensión del path
            string extension = Path.GetExtension(ruta).ToLower;
           
            // si no es un direcotorio lo agrega a la lista
            if (extension.Length > 0) {
                lstFile.Items.Add(ruta);
            }
        }
    }
    catch (Exception ex) {
        Interaction.MsgBox(ex.ToString);
    }
}

private void lstFile_DragEnter(object sender, System.Windows.Forms.DragEventArgs e){
    e.Effect = DragDropEffects.Copy;
}


Saludos!
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

SRVAM

gracias por la info Shell Root ;)

era lo que necesitaba. muchas gracias  ;-)
C# Programmer

-Estudiante MCTS .NET Framework 3.5-