Grid-Code Ответов: 1

Как сделать точку мыши на элемент управления PictureBox при перетаскивании


Всем Привет

Разработка приложения windows form vb, занятого перетаскиванием растрового изображения из другого элемента управления, хочет отбросить это изображение в положение мыши на picturebox. Ошибка, которая у меня есть, заключается в том, что когда я перетаскиваю picturebox с помощью мыши вниз левой кнопкой мыши, ни один из
Handles PBx.MouseMove
они функциональны.
Я установил фокус на элемент управления Picturebox ,
Handles PBx.DragEnter
являются функциональными, любые идеи о том, как обойти picturebox "заблокированное состояние", как левая кнопка мыши вниз при входе в элемент управления.
возможно, у меня есть неправильная мифология при этом, так что любая помощь будет оценена по достоинству.

С уважением
Ричард

Что я уже пробовал:

Я искал Google и просматривал некоторые другие примеры приложений, но другие просто вставляют изображение в элемент управления как новое изображение из перетаскиваемого растрового изображения.

Gerry Schmitz

Попробуйте "MouseEnter" ... не могу сказать, является ли ваш контекст "перетаскивания" допустимым. Вы, кажется, ожидаете определенного поведения.

Grid-Code

Привет Джерри Шмитц

Private Sub PBx_DragOver(sender As Object, e As DragEventArgs) обрабатывает АТС.Dragover встречает
PBx_ImgIns = Новая Точка(CInt((CSng(Me.PBx.Image.Width) / Me.PBx.Width) * e.X), CInt((CSng(Me.PBx.Image.Высота) / Me.PBx.Height) * e.Y))
Приставка.Метода WriteLine("х :" &амп; PBx_ImgIns.х &амп; "г :" &амп; PBx_ImgIns.г)
Конец Подводной Лодки

Вышеизложенное дает e.X & e.Y , но неверно то, что я прочитал, это то, что e = местоположение точки экрана - а не АТС(PictureBox) Даже несмотря на АТС.DragOver e не имеет отношения к управлению АТС?
** Попытка слишком получить точку пикселя изображения - положение мыши
Спасибо за совет выше
Твое Здоровье Ричард

1 Ответов

Рейтинг:
4

Grid-Code

Private Sub PBx_DragOver(sender As Object, e As DragEventArgs) Handles PBx.DragOver
       'PBx_ImgIns = Image Point
       'PBx = Picturebox Control
       Dim PBxPnt As Point = PBx.PointToClient(New Point(e.X, e.Y)) 'e.Y & e.X = Screen Point
       PBx_ImgIns = New Point(CInt((CSng(Me.PBx.Image.Width) / Me.PBx.Width) * PBxPnt.X), CInt((CSng(Me.PBx.Image.Height) / Me.PBx.Height) * PBxPnt.Y))
   End Sub


Если кто-то заинтересовался примером кода выше дает picturebox control point, то Picturebox image point, это должно работать для удаления объекта в месте расположения мыши на элементе управления