Рисование изображения в позиции курсора Visual Basic
По сути, все, что я хочу сделать, - это нарисовать определенное изображение в той позиции на форме или в графическом окне, на которое щелкает мышь в течение 1 секунды. Код, который я пробовал, уже рисует его с произвольным смещением, поэтому я надеялся, что кто-нибудь может мне помочь в этом. Спасибо
1 ответ
Решение
Используйте событие MouseDown() формы и рисуйте в месте, указанном в "eX" и "eY". Вы можете использовать элемент управления Timer(), чтобы получить задержку в одну секунду. Вот быстрый пример:
Public Class Form1
Private WithEvents Tmr As New System.Windows.Forms.Timer
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Tmr.Interval = 1000
Tmr.Enabled = False
End Sub
Private Sub Form1_MouseDown(sender As Object, e As MouseEventArgs) Handles MyBase.MouseDown
Using G As Graphics = Me.CreateGraphics
'G.DrawImage(yourImageReferenceHere, New Point(e.X, e.Y))
Dim rc As New Rectangle(New Point(e.X, e.Y), New Size(1, 1))
rc.Inflate(9, 9)
G.DrawEllipse(Pens.Red, rc)
End Using
Tmr.Stop()
Tmr.Start()
End Sub
Private Sub Tmr_Tick(sender As Object, e As EventArgs) Handles Tmr.Tick
Tmr.Stop()
Me.Refresh()
End Sub
End Class