ドラッグ&ドロップについてです。(VB.NET)
フォーム上に「PictureBox」コントロールを置いた状態で実行し、その「PictureBox」にデスクトップ等からファイルやフォルダをドラッグ、ドロップしまして、そのファイルやフォルダのパス名を取得するにはどうすればいいですか?
そのプログラムのサンプルがあるサイトでもいいです。
回答(1件)
- 最新から表示
- |
- 回答順に表示
- |
- ベストアンサーのみ表示
No.1ベストアンサー20pt
まず、プログラムで
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の配列で受けるのは、ファイルのドロップが複数ある場合があるため
この回答へのお礼
ご丁寧にプログラムの説明までしてもらい、大変ありがとうございます。
- 最新から表示
- |
- 回答順に表示
- |
- ベストアンサーのみ表示
【電話・メール相談特集】
様々なジャンルの専門家に電話やメールで直接相談できるサービスをご紹介。一人で考えるより、あなたの【お悩み解決】や【夢の実現】に、その分野の専門家の力を役立てましょう。