Test Foro de elhacker.net SMF 2.1

Programación => Programación General => .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 (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!
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  ;-)