ドラッグアンドドロップで への返答

投稿で使用できる特殊コードの説明。(別タブで開きます。)
本名は入力しないようにしましょう。
投稿した後で削除するときに使うパスワードです。返答があった後は削除できません。
返答する人が目安にします。相手が小学生か社会人かで返答の仕方も変わります。
最初の投稿が質問の場合、質問者が解決時にチェックしてください。(以降も追加書き込み・返信は可能です。)
※「過去ログ」について書くときはその過去ログのURLも書いてください。

以下の返答は逆順(新しい順)に並んでいます。

投稿者 kent  (社会人) 投稿日時 2009/9/18 18:56:07
よねkenさん有り難うございます。
もう少し考えてみます。
投稿者 (削除されました)  () 投稿日時 2009/9/18 18:04:19
(削除されました)
投稿者 (削除されました)  () 投稿日時 2009/9/18 17:39:15
(削除されました)
投稿者 kent  (社会人) 投稿日時 2009/9/18 04:29:22
>それで?説明は手を抜かずにしましょうよ。
すみません。
下記のページを参考に(というかほとんど)してデバッグしたのですが、全く動作しません

http://homepage1.nifty.com/rucio/main/dotnet/shokyu/standard22.htm

>PictureBox1とPictureBox2の画像をD&Dで入れ替えるコードを書いてみました。
>参考になれば。
有り難うございます。
しかし、ドラッグしようとすると移動禁止マークがでて,
どうしたわけか動きません。
なぜなのでしょうか?

投稿者 (削除されました)  () 投稿日時 2009/9/18 02:29:01
(削除されました)
投稿者 よねKEN  (社会人) 投稿日時 2009/9/17 23:13:39
> たぶん↓のページのことをしたいのだと思いますが。

PictureBox1の画像をPictureBox2に、PictureBox2の画像をPictureBox1に、
といった移動(もしくは入替?)を実現したいのかなと思ったのですが、
私の提示したページ
> http://dobon.net/vb/dotnet/graphics/pictureboxdragdrop.html
の内容はずばりというわけではないですね。
このページとそのリンク先をしっかり読み込んで理解すれば実現はできますけど。

PictureBox1とPictureBox2の画像をD&Dで入れ替えるコードを書いてみました。
参考になれば。
--
Private Sub PictureBox_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseDown, PictureBox2.MouseDown
    Me.DoDragDrop(sender, DragDropEffects.All)
End Sub

Private Sub PictureBox_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles PictureBox2.DragDrop,PictureBox1.DragDrop
    If e.Data.GetDataPresent(GetType(PictureBox)) Then
        Dim source As PictureBox = DirectCast(e.Data.GetData(GetType(PictureBox)), PictureBox)
        DirectCast(sender, PictureBox).Image = source.Image
        source.Image = Nothing
    End If
End Sub

Private Sub PictureBox_DragEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles pictureBox1.DragEnter,PictureBox2.DragEnter
        e.Effect = DragDropEffects.Move
End Sub
投稿者 よねKEN  (社会人) 投稿日時 2009/9/17 22:30:02
>PictureBox1の画像を PictureBox2にドラッグアンドドロップして画像を移動
>させたいのですが、できません。

それで?説明は手を抜かずにしましょうよ。

たぶん↓のページのことをしたいのだと思いますが。
ピクチャボックスに表示されている画像をドラッグ&ドロップする
http://dobon.net/vb/dotnet/graphics/pictureboxdragdrop.html
投稿者 kent  (社会人) 投稿日時 2009/9/17 21:36:32
PictureBox1の画像を PictureBox2にドラッグアンドドロップして画像を移動
させたいのですが、できません。



Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    PictureBox1.AllowDrop = True
    PictureBox2.AllowDrop = True


End Sub
 
Private Sub PictureBox1_DragEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles pictureBox1.DragEnter,PictureBox2.DragEnter



    If e.Data.GetDataPresent(DataFormats.FileDrop) Then
        e.Effect = DragDropEffects.Copy
    End If

End Sub
 
Private Sub PictureBox1_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles PictureBox2.DragDrop,PictureBox1.DragDrop

    Dim FileName As String

    FileName = e.Data.GetData(DataFormats.FileDrop)(0)

    PictureBox1.Image = Image.FromFile(FileName)

End Sub