تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
مقال- الصور المتحركة في الدوت نت Animation
#2
كيف نستفيد من الصور المتحركة؟

أكيد عزيزي القارئ جميعنا نعلم كيف نستفيد من الصور المتحركة ببرامجنا لكن هل فكرنا في استخدمها لصناعة باتون متحرك مثلا أكيد البعض قد فكر في هذا الأمر ولكن كيف نفعل ذلك في الدوت نت للإجابة علي هذا السؤال قمت باستخدام صور جاهزة امتدادها GIF

في الواقع الموضوع سهل جدا مع الصور المتحركة التي تم تصميمها مسبقا بأي من البرامج التي تصمم صور امتداده GIF عموما لنفعل ذلك كل ما علينا هو إتباع الخطوات التالية

المثال الثالث:

أولا: فتح مشروع جديد و نطلق عليه DrawAnimatedButton مثلا

ثانيا: نضيف الصور المتحركة التي صممناها الي Resources المشروع

ثالثا: نضيف كلاس جديد الي المشروع ونطلق عليه AnimatedButton وهنا نضيف PictureBox لهذا الكلاس عن طريق استخدام الوراثة

ثالثا: نضيف بعض المتغيرات تعبر عن الصور التي تمت إضافتها الي المشروع ثم من داخل Constructor او داخل Sub New وأيضا نغير من بعض صفات PictureBox

رابعا: نقوم بعمل Overrides لحركة الماوس في حالة OnMouseHover و أيضا في حالة OnMouseLeave ثم أخيرا في حدث OnMouseDown ونقوم بتغيير الخاصية Image مع الصورة المناسبة لها

وبالتالي يكون الكود النهائي الخاص بهذا الكلاس كالأتي



كود :
Public Class AnimatedButton

Inherits PictureBox

Private isAnimating As Boolean = False
Private m_CloseHov As Bitmap = My.Resources.eq_close_hov
Private m_CloseNo As Bitmap = My.Resources.eq_close_no
Private m_CloseDo As Bitmap = My.Resources.eq_close_do

Public Sub New()

Me.SetStyle(ControlStyles.OptimizedDoubleBuffer Or _
ControlStyles.Selectable Or _
ControlStyles.AllPaintingInWmPaint Or _
ControlStyles.StandardClick Or _
ControlStyles.UserPaint, True)

Me.BackColor = Color.Transparent
Me.Image = m_CloseNo
Me.Size = Me.Image.Size
Me.MinimumSize = Me.Image.Size
Me.MaximumSize = Me.Image.Size
Me.ErrorImage = Nothing
Me.DoubleBuffered = True

End Sub

Protected Overrides Sub OnMouseHover(ByVal e As System.EventArgs)
MyBase.OnMouseHover(e)
Me.Image = m_CloseHov
End Sub

Protected Overrides Sub OnMouseLeave(ByVal e As System.EventArgs)
MyBase.OnMouseLeave(e)
Me.Image = m_CloseNo
End Sub

Protected Overrides Sub OnMouseDown(ByVal e As System.Windows.Forms.MouseEventArgs)
MyBase.OnMouseDown(e)
Me.Image = m_CloseDo
End Sub

End Class
أخيرا: نقوم ببناء المشروع من قائمة Build سنلاحظ أن الكلاس قد أصبح موجود داخل Toolbox وبالتالي يمكننا إضافته الي الفورم بسهولة

والكود التالي يوضح كيفية الاستفادة من الباتون عن طريق إضافة الحدث Click الخاص بالكلاس الذي أنشئناه الي الفورم ووضع الكود المناسب من خلاله مثل تكبير الفورم أو تصغيره أو إغلاق الفورم أو نستخدمه كما نريد ليؤدي هدف ما داخل مشروعنا


كود :
Public Class Form1

Private Sub AnimatedButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AnimatedButton1.Click

Application.Exit()

End Sub

End Class
كما تلاحظون أنني لم أتوقف كثيرا لكي أوضح الكود السابق بالتفصيل لأنه كود بسيط جدا وأعتقد أن الكثيرين منكم قد صمموا أشياء مماثلة مرات عديدة.

عموما لمن يريد معلومات إضافية يمكنه قراء الموضوعات المتعلقة بتطوير الكونترول والموجودة بالموقع أو يمكنه قراءة الموضوعات الكثيرة الموجودة في المندي و التي يقوم بكتابتها الأخوة الزملاء الأفاضل فهي كثيرة والحمد لله رب العالمين
}}}
تم الشكر بواسطة:


الردود في هذا الموضوع
مقال- الصور المتحركة في الدوت نت Animation - بواسطة Raggi Tech - 02-10-12, 06:40 PM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
Video [درس فيديو] تقارير الكريستال ريبورت وتغيير مسار الصور أثناء التشغيل رمضان272 0 1,999 28-03-22, 03:18 AM
آخر رد: رمضان272
  شرح خوارزميات معالجة الصور (من دروس الاستاذ فوزي برزنجي) ناديه الشجيري 19 35,532 20-02-22, 02:13 PM
آخر رد: رضوان الجماعي
  التعامل مع الصور Images في بيئة الدوت نت باستخدام +GDI - مقدمة RaggiTech 3 6,341 30-07-21, 05:14 PM
آخر رد: kebboud
  مقال: الكومبو بوكس ComboBox كيف تضيف أيقونات Blue Sky 1 3,454 30-06-19, 10:41 AM
آخر رد: invocker
  Compare Images المقارنة بين الصور Abu Ehab 0 3,642 31-10-18, 04:27 PM
آخر رد: Abu Ehab
  التــعامل مع cmd من خلال الدوت نت مبتدئ في الاحتراف 3 4,039 02-06-18, 12:36 AM
آخر رد: YousefOkasha
  مقدمة إلي ضغط الصور ..... Zip Bitmap silverlight 0 2,599 10-05-18, 04:35 AM
آخر رد: silverlight
  Text Animation silverlight 1 2,298 26-10-17, 02:04 PM
آخر رد: sendbad100
  تفقيط الارقام فى الدوت نت مبرمج أوتار 17 13,412 20-04-17, 12:21 PM
آخر رد: محمد بوقزاحة
  مشروع لجلب الصور من الماسحة الضوئية (Scanner) m.sami.ak 14 12,918 22-01-17, 10:41 AM
آخر رد: amko

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم