Я пытался получить функцию двойного буфера работает в VB.NET GDI + для игры Дрозды с помощью следующей командыVB.NET двойной буферизации
Public Sub New()
…
Me.SetStyle(ControlStyles.DoubleBuffer, True)
End Sub
Но так как я использую отдельную процедуру отрисовки прикрепленный к классу это не похоже на работу:
Class alien
…
Public Sub draw(ByVal palette)
Dim image As New Drawing.Bitmap("E:\alien.gif")
palette.DrawImage(image, loc.X, loc.Y, width, height)
End Sub
End class
Я называю эту процедуру с помощью таймера на главной форме:
Private Sub TmrAlien_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TmrAlien.Tick
Dim palette As Drawing.Graphics = Me.CreateGraphics
dave.draw(palette)
Invalidate()
End sub
Инопланетяне рисуют правильно, но изображения очень зауженные, а двойная буферизация, похоже, не работает.
Любые идеи
Спасибо. Это имеет смысл. – pluke
Благодарим вас за предложение не использовать CreateGraphics(). Это помогло и моим проблемам. –