デスクトップからドラッグしてきたものをVBで作ったフォーム上にドロップし、パスを取得するには?

解決


マグ  2004-07-02 19:10:11  No: 114440  IP: [192.*.*.*]

題名のとおりですが、

デスクトップ上でドラッグして、
VB.NETで作ったフォーム上にあるいはコントロール上に
ドロップして、VB.NET上でパスを取得させるにはどうすればいいでしょうか?

編集    削除
魔界の仮面弁士  2004-07-02 19:51:58  No: 114441  IP: [192.*.*.*]

デスクトップ上の「何を」ドラッグするかにもよりますが、基本的には、
AllowDropプロパティを True にしておいた上で、こんな感じで。

《DragEnterイベント》
If e.Data.GetDataPresent(DataFormats.FileDrop, True) Then
    '「ファイル」のドロップを許可
    e.Effect = DragDropEffects.Copy
Else
    '「ファイル以外」のドロップを禁止
    e.Effect = DragDropEffects.None
End If

《DragDropイベント》
'ファイル名を列挙
For Each FileName As String In CType(e.Data.GetData(DataFormats.FileDrop, True), String())
    MessageBox.Show(FileName)
Next

編集    削除
マグ  2004-07-03 01:30:13  No: 114442  IP: [192.*.*.*]

魔界の仮面弁士さん
ありがとうございます。

編集    削除