Imports
System
Imports System.Drawing
Imports System.Windows.Forms
Public Class Form1Class Class Form1Class Form1
'创建图片对象
Private animatedImage As New Bitmap ("C:ani.gif")
Private currentlyAnimating As Boolean = False
'启动动画
Public Sub AnimateImage()Sub AnimateImage()Sub AnimateImage()Sub AnimateImage()
If Not currentlyAnimating Then
'Begin the animation only once.
ImageAnimator.Animate(animatedImage, _
New EventHandler(AddressOf Me.OnFrameChanged))
currentlyAnimating = True
End If
End Sub
Sub OnFrameChanged()Sub OnFrameChanged(ByVal o As Object, ByVal e As EventArgs)
'强制刷新
Me.Invalidate()
End Sub
Private Sub Form1_Paint()Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint
AnimateImage()
'准备下一帧用以呈现
ImageAnimator.UpdateFrames()
'画下一帧
'e.Graphics.DrawImage(Me.animatedImage, New Point(0, 0))'以原始图象大小画
e.Graphics.DrawImage(Me.animatedImage, Me.ClientRectangle)’以当前窗体客互区大小画
End Sub
End Class
Imports System.Drawing
Imports System.Windows.Forms
Public Class Form1Class Class Form1Class Form1
'创建图片对象
Private animatedImage As New Bitmap ("C:ani.gif")
Private currentlyAnimating As Boolean = False
'启动动画
Public Sub AnimateImage()Sub AnimateImage()Sub AnimateImage()Sub AnimateImage()
If Not currentlyAnimating Then
'Begin the animation only once.
ImageAnimator.Animate(animatedImage, _
New EventHandler(AddressOf Me.OnFrameChanged))
currentlyAnimating = True
End If
End Sub
Sub OnFrameChanged()Sub OnFrameChanged(ByVal o As Object, ByVal e As EventArgs)
'强制刷新
Me.Invalidate()
End Sub
Private Sub Form1_Paint()Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint
AnimateImage()
'准备下一帧用以呈现
ImageAnimator.UpdateFrames()
'画下一帧
'e.Graphics.DrawImage(Me.animatedImage, New Point(0, 0))'以原始图象大小画
e.Graphics.DrawImage(Me.animatedImage, Me.ClientRectangle)’以当前窗体客互区大小画
End Sub
End Class
在播放时会出现因刷新而带来的“屏闪”现象,需要考虑双缓冲或者其他方法来解决这一问题。