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: }
Keine Kommentare:
Kommentar veröffentlichen