عمل DragDrop بين الكنترولز داخل الفورم - سي شارب - مقـــالات - Top Coder
Welcome to our Site
الدخــول Or تسجـــيل
الأحد
2016-12-04
11:19 PM
تسجــــيل | دخـــول
الرئيسية » مقالات » سي شارب

عمل DragDrop بين الكنترولز داخل الفورم
عمل DragDrop بين الكنترولز داخل الفورم

مقـــدمه
موضوع اليوم نشرح فيه طريقه لتبادل البيانات بين الكنترولز داخل الفورم من خلال Drag Drop , وحتى يمكنك نقل البيانات من و الى فورم اخرى بنفس الطريقه .
Drag Drop
في مقاله سابقه كنا قد طرحنا موضوع عن كيفية عمل Drag لملف داخل الفورم ... للإطلاع عليها من الرابط
وبنفس الطريقه تقريباً , مع بعض الإختلافات , يمكننا نقل بيانات بين الكنترولز داخل الفورم .
ولنفترض ان لدينا 2 ListBox ونريد نقل عناصر الاولى الى الثانيه من خلال Drag Drop , فكل ما علينا هو اتباع الخطوات التاليه :
1- تفعيل البروبرتي AllowDrop لكليهما بجعلها true كما في الصورة


2- تفعيل الحدث DragEnter لكليهما , ووضع الكود التالي داخل الحدث في الاثنين  
Drag Enter Event
 
3- بالنسبه للأول ListBox1 وهو الذي سيتم نسخ او نقل البيانات الموجوده منه , يتم تفعيل الحدث MouseDown  ووضع كود عمل drag drop في الحدث ليسمح بنقل البيانات منه , ليصبح الكود كالتالي :
listBox1_MouseDown Event
 
حيث بهذا الكود نسمح بعمل Drag لعناصر تلك الليست عند الضغط على عنصر منه لسحبه .

4- بالنسبه لليست الثانيه ListBox2 وهي التي يترمى بها العناصر المنقوله , يتم تفعيل الحدث DragDrop والذي فيه يتم استخلاص البيانات الملقاه داخل الليست , ليكون الكود كالتالي  
listBox2_DragDrop Event
 
حيث يتم استخلاص البيانات من خلال الداله GetData , ثم بعد ذلك تدرج البيانات الى عناصر الليست الثانيه .

والأمر لا يتوقف عند تبادل البيانات بينها فقط , فيمكنك ادراج TextBox ايضاً لتلقى بداخله البيانات من الليست الاولى , وليس هناك اختلاف بينها وبين الليست الثانيه , فنفس الحدثين DragEnter , DragDrop يتم تقعيلهم لل TextBox ويوضع بداخلهم نفس الأكواد ونفس طريقة استخلاص البيانات , وهذا كود الحدثين لل TextBox
TextBox Events
ختــام
وبهذه الطريقه البسيطه يمكنك تبادل البيانات بين مكونات الفورم , فيمكنك وضع ليست بها مسارات صور مثلاً وبجوارها PictureBox بحيث عند سحب عنصر من الليست وافلاته داخل ال PictureBox يتم تحميل الصوره داخله , وهكذا الأمر بين كل كنترول داخل الفورم , بل يتعدى الأمر ذلك , فيمكنك سحب البيانات من الليست وافلاته داخل كنترول في فورم أو برنامج اخر يقبل اللإفلات بداخله , وسيستقبل البيانات بكل بساطه .
وفي المشروع المدرج تطبيق على هذا كله , ويمكنك النقر على زر Instance لتظهر لك فورم اخرى , تستطيع تبادل البيانات بين الفورمتين كما تشاء .
تحميل المشروع
 Written by :  Mohammed Mahmoud
الفئة: سي شارب | أضاف: ham_mody2000 (2011-10-21 2:23 AM)
مشاهده: 1566 | تعليقات: 1 | الترتيب: 0.0/0


أترك تعليقك من خلال حسابك على الفيس بوك

تعليقات مشتركي الموقع

مجموع المقالات: 0
إضافة تعليق يستطيع فقط المستخدمون المسجلون
[ التسجيل | دخول ]
طريقة الدخول
بحث
Our Facebook community

تم إطلاق صفحة توب كودر على الفيس بوك

Advertisment
الأحـــدث
hitstatus
Copyright Mohammed Mahmoud © 2016
إنشاء موقع مجاني с uCoz