アプリ版:「スタンプのみでお礼する」機能のリリースについて

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

A 回答 (1件)

まず、プログラムで



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の配列で受けるのは、ファイルのドロップが複数ある場合があるため
    • good
    • 0
この回答へのお礼

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

お礼日時:2005/06/14 20:51

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!