Debes filtrar entre que es un archivo y una carpeta porque así recibirás cualquiera de los dos por igual, una de las formas de hacerlo es en el Evento
DragEnter, crear un objeto
FileInfo, con la ruta del archivo/carpeta recibido y verificar si el archivo posee el
Attributes IO.FileAttributes.Directory. Recordando que Attributes es Flags, y se comprueba:
(Info.Attributes And IO.FileAttributes.Directory) = IO.FileAttributes.Directory
Private Sub TextBox1_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles TextBox1.DragDrop
If e.Data.GetDataPresent(DataFormats.FileDrop) Then
Dim Objetos As String() = e.Data.GetData(DataFormats.FileDrop)
TextBox1.Text = Objetos(0)
End If
End Sub
Private Sub TextBox1_DragEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles TextBox1.DragEnter
If e.Data.GetDataPresent(DataFormats.FileDrop) Then
e.Effect = DragDropEffects.All
End If
End Sub