0 Pluspunkte 0 Minuspunkte
Wie kann ich mit .NET Drag and Drop von einer Desktop Datei auf ein Form ermöglichen?
von  

1 Antwort

0 Pluspunkte 0 Minuspunkte

Hier ist ein einfaches Beispiel mit dem DragDrop Event des Form.

using System;
using System.Windows.Forms;

namespace FileDragDropExample
{

    static class Program
    {
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new MainForm());
        }
    }
    
    public class MainForm : Form
    {
        public MainForm()
        {
            this.AllowDrop = true;
            this.DragEnter += MainForm_DragEnter;
            this.DragDrop += MainForm_DragDrop;
        }

        private void MainForm_DragEnter(object sender, DragEventArgs e)
        {
            // Überprüfen, ob die Daten, die eingefügt werden, Dateien sind
            if (e.Data.GetDataPresent(DataFormats.FileDrop))
            {
                e.Effect = DragDropEffects.Copy; // Zeigen Sie dem Benutzer an, dass eine Kopie der Dateien eingefügt wird
            }
            else
            {
                e.Effect = DragDropEffects.None; // Zeigen Sie dem Benutzer an, dass das Ziehen nicht unterstützt wird
            }
        }

        private void MainForm_DragDrop(object sender, DragEventArgs e)
        {
            // Holen Sie die Liste der Dateien, die eingefügt werden sollen
            string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);

            // Iterieren Sie über jede Datei und führen Sie die gewünschten Aktionen aus
            foreach (string file in files)
            {
                MessageBox.Show("Datei eingefügt: " + file);
                // Fügen Sie hier Ihren eigenen Code hinzu, um mit den eingefügten Dateien zu arbeiten
            }
        }
    }
}
von (532 Punkte)