- ベストアンサー
ドラッグ&ドロップについてです。(VB.NET)
フォーム上に「PictureBox」コントロールを置いた状態で実行し、その「PictureBox」にデスクトップ等からファイルやフォルダをドラッグ、ドロップしまして、そのファイルやフォルダのパス名を取得するにはどうすればいいですか? そのプログラムのサンプルがあるサイトでもいいです。
- みんなの回答 (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の配列で受けるのは、ファイルのドロップが複数ある場合があるため
お礼
ご丁寧にプログラムの説明までしてもらい、大変ありがとうございます。