Drop von Dateien / Ordnern:
1. Vorbereitung:
"AllowDrop"-Property setzen und 2 Events anmelden:
1: public MainForm()
2: { 3: InitializeComponent();4: this.textboxDir.AllowDrop = true;
5: this.textboxDir.DragOver += new DragEventHandler(textboxDir_DragOver);
6: this.textboxDir.DragDrop += new DragEventHandler(textboxDir_DragDrop);
7: }2. Drag Over-Event:
DataFormat überprüfen und DragDropEffects setzen:
1: void textboxDir_DragOver(object sender, DragEventArgs e)
2: {3: if (e.Data.GetDataPresent(DataFormats.FileDrop))
4: { 5: e.Effect = DragDropEffects.Move; 6: } 7: }3. Drag-Drop-Event:
Drop auswerten:
1: void textboxDir_DragDrop(object sender, DragEventArgs e)
2: {3: if (e.Effect == DragDropEffects.Move) // if move
4: {5: if (e.Data.GetDataPresent(DataFormats.FileDrop)) // if file drop
6: {7: string[] dirNames = (string[])e.Data.GetData(DataFormats.FileDrop);
8: if (dirNames.Length.Equals(1)) // wenn genau eine datei
9: {10: if (MSUtils.FileUtil.dirExists(dirNames[0]))
11: {12: this.textboxDir.Text = dirNames[0];
13: } 14: } 15: } 16: } 17: }