我认为最好只复制并粘贴代码(这非常琐碎)。
Private Sub Main() Handles MyBase.Shown
timer.Interval = 10
timer.Enabled = True
End Sub
Private Sub Form1_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint
e.Graphics.DrawImage(image, 0, 0)
End Sub
Private Sub tick() Handles timer.Elapsed
Using g = Graphics.FromImage(image)
g.Clear(Color.Transparent)
g.DrawLine(Pens.Red, 0 + i, 0 + i, Me.Width - i, Me.Height - i)
End Using
Me.Invalidate()
End Sub
在 tick 事件期间引发异常“该对象当前正在别处使用”。有人能告诉我为什么会发生这种情况以及如何解决吗?谢谢。
最佳答案
Handles timer.Elapsed
表示一个 System.Timers.Timer。
改用 System.Windows.Forms.Timer,您的问题就不会再发生了。
关于.net - 在多线程中使用 GDI+ 的问题 (VB.NET),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2663354/