こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

ファイルをドラッグドロップでTextBooxにファイル名を出したい

下記のサンプルコードをWEBサイトで見つけたので
ListBox1というところをTextBox1と直して
テキストボックスにファイルのフルパスが出るように
したかったのですが、Listbox1だと正常なのですが、
TextBox1に変更すると動作しなくなってしまいます。
最後の部分の
ListBox1.Items.AddRange(e.Data.GetData(DataFormats.FileDrop))は
TextBox1.Text=e.Data.GetData(DataFormats.FileDrop)
に変更してあります。

正常に動作するにはどこを直したらよいか教えて頂きたいです。
宜しくお願いします。m(__)m
---------------------------------------------------
Private Sub ListBox1_DragEnter(ByVal sender As Object, _
ByVal e As System.Windows.Forms.DragEventArgs) _
Handles ListBox1.DragEnter
'関連連づけの確認をしています。
'この場合、ドラッグアンドドロップの形式であるかどうか?
If e.Data.GetDataPresent(DataFormats.FileDrop) Then
'ドロップ効果を取得
e.Effect = DragDropEffects.Copy
Else
'ドロップ効果を破棄
e.Effect = DragDropEffects.None
End If
End Sub



Private Sub ListBox1_DragDrop(ByVal sender As Object, _
ByVal e As System.Windows.Forms.DragEventArgs) _
Handles ListBox1.DragDrop
'DragEnterイベントで、取得した情報を追加
ListBox1.Items.AddRange(e.Data.GetData(DataFormats.FileDrop))
End Sub

投稿日時 - 2005-11-08 14:10:45

QNo.1765572

困ってます

質問者が選んだベストアンサー

VB.NETですよね。
まず、
TextBox1.AllowDrop = True
になってますか?
あとは、
Private Sub TextBox1_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles TextBox1.DragDrop
TextBox1.Text = e.Data.GetData(DataFormats.FileDrop)(0) 'String[]になる
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.Copy
Else
e.Effect = DragDropEffects.None
End If
End Sub
でいけるはずですが

投稿日時 - 2005-11-08 19:01:40

お礼

できました。
どこかの設定が間違っていたようで、
全部消して頂いた回答をコピペしたらOKでした。
ありがとうございます!

投稿日時 - 2005-11-09 02:40:39

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問