Обычно рисование выполняется, когда происходит событие Paint.Добавьте Panel
элемент управления с желаемым цветом фона к вашей форме.Обработка события Paint
вашей панели
Private Sub Panel1_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Panel1.Paint
e.Graphics.FillEllipse(Brushes.Teal, X, Y, W, H)
End Sub
Панель всегда будет автоматически очищаться перед рисованием.
Измените обработчик события отметки времени на
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Panel1.Invalidate() ' This triggers the Paint event
CollisionDetect()
X = X + X_Dir
Y = Y + Y_Dir
End Sub
Обратите внимание, что событие Paint запускается автоматически, если панель была скрыта, например, другой формой, и ее необходимо перерисовать.Если компьютер занят и не может рисовать, некоторые события рисования могут быть пропущены.Поэтому сохраните свою игровую логику (расчет) в Timer1_Tick
.
Если вы предпочитаете рисовать непосредственно на форме, вы можете сделать это, используя событие рисования формы вместо события рисования панели извоните Me.Invalidate()
вместо Panel1.Invalidate()
.