دينامكية العمل الكلاس ..
يتقسم فكرة عمل هذا الكلاس إلى قسمان :
أ - قسم تحريك الأدوات : يعتمد هذا القسم على الأحداث MouseDown,, MouseMove,,MouseUp
لتحريك الأدوات طبقاً للأحداثيات التي تأخذ من الأحداث المذكوره سابقاً .. للأدات المختاره؟
ب - قسم التحكم بحجم الأدوات : أما هذا القسم وهو الأهم برأي ... فهو يعتمد على انشاء عدد 8 Label Control
وتوزع هذه Labels على حواف أي أدات يقع عليها الحدث Click ... كما هو مبين بالشكل التالي :

بحيث تقوم هذه الـ Labels بتكبير أوتصغير حجم الأدات المختارة طبقاً للأحداثيات التأخذ من الأحداث حركة الماوس
انطلاقاً من حواف الأدات ،، وتعتمد هذ الـ Labels على الأحداث التالية MouseDown,, MouseMove,,MouseUp أيضاً

لن أيطيل الشرح ، أردت فقط أن أكتب هذه مقدمه البسيط عن فكرة عمل الكلاس لكي تساعدك بفهم أكواد الكلاس بمجرد النظر على سطوره
قم بحفظ هذه الكلاس داخل مشروعك ...
واكتب الكود التالي داخل الفورم ... واكتب تحت أي حدث تريده لنفرض Form_Load
أولا تعريف الكلاس داخل فورم المشروع
Private MoveControlX AsNew ClassMoveControl.ClassMoveControl()
ثانياً :
هذا الكود لجعل أدات الأ PictureBox1 .. قابله للتحريك أو تغير الحجم أثناء وقت التشغيل
MoveControlX.WireControl(PictureBox1)
أو يمكنك أن تجعل جميع الأدوات الموجوده داخل الـ PictureBox1.. قابله للتحريك أو تغير الحجم أثناء وقت التشغيل .. اكت الكود التالي :
ForEach c As Control InMe.PictureBox1.Controls
MoveControlX.WireControl©
Next
هذه مع العلم بأنك تستطيع استخدام جمبع الأدوات مثل Form ...Panel إلخ... بدلاً من PictureBox1
مصدر هذه المقاله : Simple Runtime Control Sizing and Dragging Class
في النهاية اتمنى ان لاتنسوني الدعاء
مع خالص تنمياتي لكم بالتوفيق
أخوكم RamSyria

