KOPIE KOMPLETT
Teil 6: Projekt-Manager versus Visual-Basic-2005-Mangel
- Projekt-Manager versus Visual-Basic-2005-Mangel
- Teil 2: Projekt-Manager versus Visual-Basic-2005-Mangel
- Teil 3: Projekt-Manager versus Visual-Basic-2005-Mangel
- Teil 4: Projekt-Manager versus Visual-Basic-2005-Mangel
- Teil 6: Projekt-Manager versus Visual-Basic-2005-Mangel
- Teil 7: Projekt-Manager versus Visual-Basic-2005-Mangel
- Teil 8: Projekt-Manager versus Visual-Basic-2005-Mangel
Alle Aktionen werden bisher über Buttons ausgelöst, besser wäre Drag & Drop, was unter VB8 einfach ist. In drei immer gleichen Schritten fügen Sie diese Funktionalität in Ihre Projekte ein.

Als Erstes setzen Sie die AllowDrop-Eigenschaft für die Steuerelemente, die Drop zulassen sollen, auf True. Das geschieht im Eigenschaftenfenster oder zur Laufzeit im Programmcode wie etwa in der Ereignisprozedur Form_Load.
Private Sub Form1_Load(...) Handles
MyBase.Load ...
TextBox1.AllowDrop = True
Label2.AllowDrop = True
...
End Sub
Danach folgen noch zwei Schritte. Die Steuerelemente, für die AllowDrop = True ist, werden beim "Einschweben" des Kopierobjekts, d.h. in der DragEnter-Ereignisprozedur aktiviert. Dafür schreiben Sie die Prozedur File- DropActivate, die Sie dann für alle anderen Objekte nutzen, bei denen "gedropt" werden soll.
Private Sub TextBox1_DragEnter(...) _
Handles TextBox1.DragEnter
...
FileDropActivate(e)
...
End Sub
Sub FileDropActivate(ByVal e As
System.Windows.Forms.DragEventArgs)
If
e.Data.GetDataPresent(DataFormats.FileD
rop) Then
e.Effect = DragDropEffects.Copy
Else
e.Effect = DragDropEffects.None
End If
End Sub
Die eigentliche Drop-Aktion wird in der jeweiligen DragDrop-Prozedur aufgerufen. Hier haben Sie die Kopieraktion für Dateien in die selbstständige Prozedur GetDroppedFiles ausgelagert. Auch diese verwenden Sie so für alle entsprechenden Aktionen.
Private Sub TextBox1_DragDrop(...)
Handles TextBox1.DragDrop
In GetDroppedFiles finden Sie die Lösung, mit der Sie eine beliebige Anzahl von markierten Datei- und Ordnernamen per Drop einlesen.
Function GetDroppedFiles(...) As String