• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VB.NETのDrag&Dropでペイントが起動してしまう。)

VB.NETのDrag&Dropでペイントが起動してしまう

このQ&Aのポイント
  • VB.NETにてDrag&Dropでbmpファイルをピクチャーボックスに表示させようと思い、他の方が質問されていたソースを加工してテストしています。
  • 画像ファイルをexplorerで掴んでピクチャーボックスの上まで持ってくるとDragEnterイベントでアクセサリのペイントが起動してしまって処理が止まっています。
  • ペイントが起動しないようにする方法を教えていただきたいです。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

投稿されたコードだけでは、どこで何をされているのか判断できません。 取り敢えず、下記のコードを試して見て下さい。 (エラーチェック等はご自分でつけて下さい。) Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, _             ByVal e As System.EventArgs) Handles MyBase.Load   PictureBox1.AllowDrop = True End Sub Private Sub PictureBox1_DragDrop(ByVal sender As Object, _      ByVal e As System.Windows.Forms.DragEventArgs) Handles PictureBox1.DragDrop   Dim fileNames() As String = DirectCast(e.Data.GetData(DataFormats.FileDrop, False), String())   With PictureBox1     .SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize     .Image = System.Drawing.Image.FromFile(fileNames(0))   End With End Sub 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 End Class

k2k1_2010
質問者

お礼

ご回答ありがとうございます。 上記ソースでうまくPictureBoxに画像を表示できるとともに まだ、ペイントが起動してしまいましたが、原因がわかりました。 こちらのデバッグの仕方に問題がありました。 値がどうなるかブレークポイントをつけていたのですが このときデバッグで表示したウインドウの下にVSで コードを表示させていました。 そのためEnterでイベントが発生し、ブレークポイントが あるためVSのウインドウがアクティブになり、画像をVSで 開こうとしてペイントが動いてました。 たまたまずらして実行したときにペイントが起動しないことで 気づくことができました。 お騒がせしました。ありがとうございました!

関連するQ&A