新しく質問する

ドラッグ&ドロップについてです。(VB.NET)

役に立った:2件
  • 質問者:rouden
  • 投稿日時:2005/06/13 20:26
  • 困り度:暇なときに回答をください
  • 友達に紹介
  • ブログに書く
  • 教えて!gooお気に入り

フォーム上に「PictureBox」コントロールを置いた状態で実行し、その「PictureBox」にデスクトップ等からファイルやフォルダをドラッグ、ドロップしまして、そのファイルやフォルダのパス名を取得するにはどうすればいいですか?
そのプログラムのサンプルがあるサイトでもいいです。

この質問への回答は締め切られました。
このQ&Aは役に立ちましたか?(役に立った:2件)
  • 参考になった:0件

No.1ベストアンサー20pt

  • 回答者:BLUEPIXY
  • 回答日時:2005/06/13 23:18

まず、プログラムで

PictureBox1.AllowDrop = True

して、PictureBoxにドロップを許可する
次に
DragEnterイベントで、FileDropタイプを受け入れられるかどうかを調べてEffect(copyで受け入れる)をセットする

Private Sub PictureBox1_DragEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles PictureBox1.DragEnter
If (e.Data.GetDataPresent(DataFormats.FileDrop)) Then
e.Effect = DragDropEffects.Copy
Else
e.Effect = DragDropEffects.None
End If
End Sub

次に
DragDropで、パス名を取得する

Private Sub PictureBox1_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles PictureBox1.DragDrop
TextBox1.Text = CType(e.Data.GetData(DataFormats.FileDrop), String())(0)
PictureBox1.Image = System.Drawing.Image.FromFile(TextBox1.Text)

End Sub

ファイルのパス名を取得してテキストボックスに表示すると共に、ピクチャーボックスに描画している
CTypeでStringの配列で受けるのは、ファイルのドロップが複数ある場合があるため

通報する

この回答へのお礼

ご丁寧にプログラムの説明までしてもらい、大変ありがとうございます。

  
このQ&Aは役に立ちましたか?(役に立った:2件)
電話相談

【電話・メール相談特集】

様々なジャンルの専門家に電話やメールで直接相談できるサービスをご紹介。一人で考えるより、あなたの【お悩み解決】や【夢の実現】に、その分野の専門家の力を役立てましょう。

このページのトップへ

Facebook公式ページ

公式Twitter