منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
كيفية رسم صورة متحركة على الفورم بدون تايمر - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : الأقسام التعليمية - المنتدى القديم (http://vb4arb.com/vb/forumdisplay.php?fid=90)
+--- قسم : مكتبة أكواد المنتدى (http://vb4arb.com/vb/forumdisplay.php?fid=111)
+---- قسم : مكتبة أكواد .net (http://vb4arb.com/vb/forumdisplay.php?fid=117)
+---- الموضوع : كيفية رسم صورة متحركة على الفورم بدون تايمر (/showthread.php?tid=6296)



كيفية رسم صورة متحركة على الفورم بدون تايمر - RaggiTech - 17-10-12

كاتب الموضوع : egyption-coder

منقول بتصرف

كود :
Imports System.Drawing.Imaging
'نستورد المجال لرسم الصورة على الفورم

Public Class Form1
' نعرف الكائن الذي سيحتوي على الصورة المتحركة
Private AnImage As Image = Nothing


Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
' تحميل الصورة
AnImage = Image.FromFile("E:\تعليم\امثلة فيجوال\gif\WindowsApplication5\WindowsApplication5\WindowsApplication5\Resources\get-6-2009-wd8n8dx6.gif")
' بدء عملية عرض الصورة المتحركة
ImageAnimator.Animate(AnImage, AddressOf ImageAnimator_OnFrameChanged)
End Sub

' حدث يحدث في كل مرة يأتي دور صورة أخرى للعرض
' لاحظ اننا نستدعى هذا الروتين عند تحميل الصفحة
Private Sub ImageAnimator_OnFrameChanged(ByVal sender As Object, ByVal e As EventArgs)
' طلب رسم الصورة التالية
Me.Invalidate()
End Sub

Private Sub Form1_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint
' تجهيز الصورة التالية للعرض

ImageAnimator.UpdateFrames(AnImage)
' رسم الصورة على الفورم
e.Graphics.DrawImage(AnImage, (ClientSize.Width - AnImage.Width) / 2.0F, (ClientSize.Height - AnImage.Height) / 2.0F)
End Sub


End Class