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 ;)
Emmm!
http://www.code-magazine.com/article.aspx?quickid=0803041&page=5
Ejemplo de Drag-Drop
VB:
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#:
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!
gracias por la info Shell Root ;)
era lo que necesitaba. muchas gracias ;-)