التقييم : 3 نقاط : 360864 تاريخ التسجيل : 01/01/1970
| موضوع: شرح كيف تبرمج أدوات Windows Control Library في فيجوال بيسيك دوت نت الإثنين نوفمبر 19, 2012 12:50 pm | |
|
بسم الله الرحمن الرحيم السلام عليكم ورحمة الله وبركاته
تعلم كيف تبرمج أدوات Windows Control Library في فيجوال بيسيك دوت نت
قبل كل شيئ اريد ان انوه الى امر وهو ان هذا الشرح ليس منقول وهو شرحي الشخصي وتم الانتهاء من هذا الموضوع بعد جهد جهيد وتوفيق من الله اتمنى ان يعجبكم اسلوبي
مقدمة: طبعا يوجد في فيجوال بيسيك دوت نت أدوات كثيرة تأتي مع حزمة دوت نت مثل الأدوات القياسية التي نستخدمها كثيرا في مشاريعنا وهي Label,,TextBox,,Button,,PictureBox ......الخ وغيرها الكثير الكثير من الأدوات الموجودة لكن نحن أحيانا نحتاج إلى برمجة أدوات خاصة بنا تناسب احتياجات برنامجنا نضع فيها مزايا وخصائص غير موجودة بالأدوات القياسية لهذا سنتعلم في هذا الموضوع أساسيات برمجة أدوات خاصة بنا . طبعا حتى نستطيع برمجة أداتنا الخاصة هناك ثلاثة أساليب يجب أن نتعلمها ويمكنك إتباع أي أسلوب منها وهي:
1-وراثة اداة سابقة
2-استخدام مجموعة من الادوات الجاهزة
3-انشاء اداة مستقلة من الصفر
سأقوم انشاء الله بشرح الاساليب الثلاث:
اولا:وراثة اداة سابقة: [size=16]طبعا يعتبر هذا الأسلوب من أسهل الأساليب التي تستطيع من خلالها إنشاء أداتك الخاصة وهذا الأسلوب يقوم على وراثة أداة موجودة مسبقا من أدوات دوت نت فروم وورك القياسية بكامل خصائصها وأحداثها وتجهيزها ليتم التعديل عليها وعندها تستطيع إضافة كل ما يناسب احتياجاتك من خصائص وأحداث عليها كأن تضيف على TextBox القياسية خاصية التحديد التلقائي كما سنشرح في مثالنا القادم [size=16]ملاحظة:قبل أن ابدأ بشرح المثال القادم سأذكر بشيء هو أن هذا الشرح ينفع لجميع إصدارات فيجوال بيسيك دوت ت من 2000 إلى 2010 يعني انه لا يوجد أي فرق بينها,, أنا سأستخدم في شرحي 2010 وكل صور الشرح ستكون عليه.
التطبيق العملي: [size=16]أولا: بعد أن تفتح فيجوال بيسيك قم باختيار مشروع جديد ومنه اختر Windows Control Library
كما في الصورة التالية
[size=16]وبعدها ستفتح لك بيئة تطوير فيجوال ستديو مشروع جديد فيه الملف UserControl1.vb وفيه نافذة جديدة [size=16]ثانيا: الآن غير اسم المشروع إلى MyTextBox انظر الصورة التالية:ثالثا:افتح نافذة محرر الاكواد الخاصة بالأداة UserControl1 وامسح كل شيء فيها بحيث تصبح فارغة والآن لوراثة الأداة TextBox القياسية أضف الكود التالي الذي هو الفئة التي تشتق الأداة TextBox بكافة خصائصها وأحداثها :[/size][/size][/size][/size][/size] كود: Public Class MyTextBox Inherits System.Windows.Forms.TextBox Sub New() MyBase.New() End SubEnd Class [size=16]الآن بعد تعريفك لفئة السابقة تستطيع إضافة أي شيء تريده على الأداة TextBoxكما تشاء ويناسبك من خصائص وأحداث وغيرها بما معناه انك أنشأت أداة تكست بوكس كاملة وقابلة للتعديل.
[size=16]رابعا:سنقوم الآن بإضافة خاصية التحديد التلقائي AutoSelect وهي خاصية غير موجودة مع أداة التكست بوكس القياسية وعمل هذه الخاصية هو عند اختيار القيمة True لها فيتم تحديد النص كاملا في الأداة تيكست بوكس مجرد أن تأخذ الأداة تركيزها ولإنشاء هذه الخاصية ادخل الكود التالي :[/size][/size] كود: Private m_autoselect As Boolean Public Property AutoSelect() As Boolean Get Return m_autoselect End Get Set(ByVal value As Boolean) m_autoselect = value End Set End Property والآن في الحدث Enter الخاص بالأداة ضع الكود Me.SelectAll( ) على الشكل التالي : كود: Private Sub MyTextBox _Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Enter Me.SelectAll() End Sub وطبعا هذا الكود لتحديد كافة النص بالأداة مجرد انتقال التركيز إليها
والآن يكون شكل الكود النهائي بعد كل شيء هكذا :
كود: Public Class MyTextBox Inherits System.Windows.Forms.TextBox Sub New() MyBase.New() End Sub Private m_autoselect As Boolean Public Property AutoSelect() As Boolean Get Return m_autoselect End Get Set(ByVal value As Boolean) m_autoselect = value End Set End Property Private Sub MyTextBox _Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Enter Me.SelectAll() End SubEnd Class
الآن بعد أن انتهينا سنقوم بحفظ المشروع و باستخراج ملف Dll الخاص بالأداة لنتمكن من استخدامها في مشاريعنا . وذلك عن طريق اختيار الأمر Build MyTextBox من القائمة Build انظر الصور التالية:
الآن سنقوم بتجربة الأداة: [size=16]أولا: بعد فتح فيجوال ستديو افتح مشروع جديد Windows Application
ثانيا: قم بإضافة الأداة إلى مشروعك كالتالي انظر الصور:
ثالثا:ارسم الأداة على النموذج وانظر إلى نافذة الخصائص ولاحظ الخاصية الجديدة التي انشأناها AutoSelect انظر الصورة:
[size=25]MyTextBox
تحميل مثال الأداة جاهزة ومع الكود المصدري الان انتهينا من شرح الأسلوب الأول وهو وراثة أداة موجودة سابقا أتمنى أن يكون شرحي واضحا وسأشرح في المرة القادمة الأسلوب الثاني وهو
استخدام مجموعة من الأدوات الجاهزة
ترقبو شرح الاسلوب الثاني
يتبع............................للمرة القادمة [/size][/size] | |
|