DragDrop

Private Sub Form1_DragEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles Me.DragEnter

If e.Data.GetDataPresent(DataFormats.FileDrop) Then 'コントロール内にドラッグされたとき実行される

e.Effect = DragDropEffects.Copy 'ドラッグされたデータ形式を調べ、ファイルのときはコピーとする

Else

e.Effect = DragDropEffects.None 'ファイル以外は受け付けない

End If

End Sub

Private Sub Form1_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles Me.DragDrop

'コントロール内にドロップされたとき実行される

'ドロップされたすべてのファイル名を取得する

Dim FileNames As String() = CType(e.Data.GetData(DataFormats.FileDrop, False), String())

For Each FName As String In FileNames 'フルパスがファイルかフォルダか判別する

If GetAttr(FName) = FileAttribute.Directory Then 'フォルダなら

TextBox1.Text = FName

AddListbox()

Else 'ファイルなら

List.Add(FName)

End If

Next

End Sub