У меня есть приложение, предназначенное для таких функций, как доска объявлений.И файлы типа text и pdf должны перетаскиваться в поле для изображений, содержащее макет здания, местоположение и т. Д. Я написал очень простой код функции перетаскивания в виде:
Public Class Form1
Dim newIcon As Icon = New Icon("RedFlag.ico", New Size(16, 16))
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Do nothing or initialization\ here
Me.AllowDrop = True
PictureBox1.AllowDrop = True
End Sub
Private Sub Form1_DragDrop(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles PictureBox1.DragDrop
Dim files() As String = e.Data.GetData(DataFormats.FileDrop)
For Each path In files
Debug.WriteLine(path & " X=" & PictureBox1.PointToClient(New Point(e.X, e.Y)).X & " Y=" & PictureBox1.PointToClient(New Point(e.X, e.Y)).Y)
Dim g As Graphics = PictureBox1.CreateGraphics
g.DrawIcon(newIcon, PictureBox1.PointToClient(New Point(e.X, e.Y)).X, PictureBox1.PointToClient(New Point(e.X, e.Y)).Y)
'g.Dispose()
'newIcon.Dispose()
Next
End Sub
Private Sub Form1_DragEnter(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles PictureBox1.DragEnter
If e.Data.GetDataPresent(DataFormats.FileDrop) Then
e.Effect = DragDropEffects.Copy
End If
End Sub
Private Sub Form1_DragOver(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles PictureBox1.DragOver
Me.Text = String.Format(("X{0}:Y{1}"), PictureBox1.PointToClient(New Point(e.X, e.Y)).X, PictureBox1.PointToClient(New Point(e.X, e.Y)).Y)
End Sub
End Class
Значки, нарисованные на картинке, исчезают.
значки, нарисованные на картинке, исчезают, когда я изменяю размер окна или перекрываю окна.Пожалуйста, руководство.