2014-11-25 60 views
0

基本上我想要做的就是在窗体上或鼠标点击一个图片框上的位置绘制一个特定的图像1秒钟。我已经试过的代码已经将它绘制成随机偏移量,所以我希望有人能够指导我。谢谢在光标位置绘制图像Visual Basic

回答

0

使用窗体的MouseDown()事件并在“e.X”和“e.Y”指定的位置绘制。您可以使用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