بسم الله الرحمن الرحيم
عنوان الدرس : تحريك الأدوات على الفورم باستخدام الماوس
هذا الدرس مفيد جدا لجميع المستويات البرمجيه (الميتدئين و المحترفين) لهذا قمت بترجمة الشرح لأنه أعجبنى و بسيط و أرجو أن ينال اعجابكم .
بداية سنبدأ بفتح الـ VB.Net 2005 و نبدأ مشروع جديد Project1 و يجب أن يتوافر الأتى :
Form - Button - PictureBox - Label و هى الأدوات التى سنقوم بتحريكها ان شاء الله , قم الان بفتح شاشة الكود الخاصة بالـ Form1 .......... فى منطقة الـ Public Class Form1 أكتب الكود الاتى :
' These will be our switches
Dim Go As Boolean
Dim LeftSet As Boolean
Dim TopSet As Boolean
'These will hold the mouse position
Dim HoldLeft As Integer
Dim HoldTop As Integer
' These will hold the offset of the mouse in the element
Dim OffLeft As Integer
Dim OffTop As Integer
و الكود عباره عن تعريف لبعض المتغيرات التى سنحتاجها و هى تنقسم الى 3 أقسام :
1) التحويلات
(GO) وظيفته يقوم باخبار المشروع ما اذا كان الماوس تم الضغط عليه و جارى التحريك أم لا .
(LeftSet) و (TopSet) وظيفتهما هى معرفة ما اذا تم التعرف على نقطة بداية التحريك أم لا .
الأن نريد ضبط التحويلات بمعنى أننا سنقوم بجعل القيمه العادية لها OFF أى فى حالة MouseUp أى اننا اذا لم نكن فى وضع الضغط على الأداه , اذا نحن لا نحركها الأن .
فى نفس المنطقه قم بكتاية الكود الأتى :
Private Sub Obj_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Obj.MouseUpGo = False
LeftSet = False
TopSet = False
End Sub
و متى يعرف البرنامج اننا سنقوم بتحريك الماوس ؟ عندما يكون MousePress او بمعنى عندما نقوم بعمل Click و بالتالى سنقوم باعلام البرنامج بعكس ما فى الاجراء السابق و لكن للمتغير GO فقط لأن هذه هى وظيفته .
فى نفس المنطقه قم كتابة الكود الأتى :
Private Sub Obj_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Obj.MouseDown
Go = True
End Sub
الان البرنامج يعرف متى يكون الماوس فى حالة Click أم لا و نريد أن تتبع حركة الماوس أثناء الـ Click الاداه المراد تحريكها ..... ستشرح بالتفصيل لاحقا !
- نريد الان معرفة ما اذا كان الماوس يتحرك و هو و فى الوضع Click أم لا .
- نريد معرفة أين يوجد الماوس الأن .
- نريد معرفة الاحداثيات التى بدأ عندها الماوس عند الضغط عليه أول مره
اسف على تكرار الموضوع لأنى ضغط الخطأ مرتين و لم أعرف كيف أحذف التكرار