بسم الله الرحمن الرحيم
الادوات في الفجول بيسك دو نت 2005
السلام عليكم ورحمة الله
اليوم سيكون درسنا عن الادوات خصائصها واحداثها
الادوات : هي عبارة عن عناصر برمجية لها مهام معينة تاخذ
اشكال رسومية ولكل اداة عملها الخاص
* تصنف الادوات الى صنفين :
1-Control :
وهو العنصر البرمجي الذي يأخذ شكل رسومي
معين ويوضع على الفورم اثنا ء تصميم
البرنامج ويقوم بتادية مهمة معينة مثل
ولكل Control خصائص ووظائف تميزة عن غيرة
Button , Textbox , Label
2-Component :
وهو شبيه بال Control فيما عدا :
1- لا يظهر في وقت التنفيذ أي وقت الاستعمال 2- يظهر اثنا تصميم البرنامج على شريط خاص به أسفل الفورم على شكل ايقونة 3- ولكن بالرغم من ذلك يمكن ان يظهر على الفورم اثناء التصميم مثل menu او وقت التنفيذ مثل OpenFileDialog
*التعامل مع الادوات :
الادوات تساعد المبرمج اثناء تصميمة برنامج بقدر كبير
فتقوم باختصار الكثير من الاكواد الصعبة والطويلة.
ولكل اداة من ادوات الفجول بيسك دوت نت غرض معين
ومهمة معينة وتقوم كل اداة بعمل مختلف عن الاداة الاخرى

انشاء الادوات:
* يمكنك اضافة اى اداة الى برنامجك باحدى هذة الطرق :
- 1 النقر المزدوج على الاداة المراد اضافتها
النقر نقرة واحدة على الفورم وسيتم اضافتها
2 - لسحب والافلات باستخدام الماوس 3 - النقر نقرة واحدة على الاداة المراد اضافتها وثم
*ولكن لو اردنا انشاء مجموعة كبيرة من الادواة كعمل
برنامج حاسبة بة ازرار عديدة مثلا
فاءن الطرق السابقة لاضافة الازرار ستكون متعبة قليلا
فما هو الحل ياتري في رايك ؟
الحل هو الضغط المتواصل على مفتاح Ctrl ثم النقر نقرة واحدة باستخدام
الماوس على الاداة التى تريد اضافه عددأ منها ثم النقر على الفورم ستلاحظ
في كل مرة تقوم بها بالنقر على الفورم اضافة الاداة مرة جديدة وباسم جديد
وعندما تريد الانتهاء من اضافة الاداة فما عليك سوى ايقاف الضغط على
مفتاح Ctrl اوالضغط على ايقونة موشر الماوس التي في اعلي الادوات
.
تجميع الأدوات داخل حاوية :
هنالك أدوات عملها الأساسي هو احتوى ادوات اخرى بداخلها مثل
وباستخدامها تستطيع تجميع عدد من الادوات في حاوية واحدة لغرض
نقل وتحريك او اخفاء واظهار تلك الادوات او لاغاض اخرى. المهم في
الامر اننا باستخدام حاويات الادوات نستطيع ان نتعامل مع مجموعة
من الادوات ككتلة واحدة .
هنالك عدة طرق لتضع الادوات داخل حاوية container وذلك
بسحب الاداة الموجود على الفورم الى داخل container او
بتحديد ال container الذي قمت باضافتة مسبقا الى الفورم
ثم و من قائمة الادوات تقوم بالنقر المزدوج على الاداة التى
تريد ان تضيفها الى container وستضاف بداخله مباشرتأ وليس على الفورم
او بواسطة السحب والافلات من قائمة الادوات الى داخل ال container .
او بواسطة القص واللصق من على الفورم الى داخل ال container .
TabControl, GroupBox, Panel,
* انشاء الادوات في وقت التنفيذ Run Time :
غالبا نقوم بانشاء الادوات على الفورم في وقت تصميم البرنامج عن
طريق اضافتها من قائمة ToolBoxولكن وبالرغم من ذلك فاننا في
بعض الاحيان قد نحتاج لانشاء الادوات في وقت تنفيذ
البرنامج Run Time أي انشاء الدوات والاحداث الخاصة بها عن طريق الكود .
ولكن قد نتسائل ما الدافع الذي يجعلنا ننشئ الادوات بواسطة
الكود طالما اننا نستطيع انشائها في وقت تصميم البرنامج ؟
الجواب انك في بعض الاحيان قد تحتاج لعمل برنامج يملك
واجهات مختلفة يخدم مستخدمين مختلفين.
المستخدمين مختلفين في مهاراتهم او يحتاجون لادوات مختلفة
تبعا لاختلاف اعمالهم ومتطلباتهم.
او انك لا تعلم ماذا سيتطلب برنامجك من ادوات لعرض او ادخال
البيانات لان ذلك متوقف على حاجيات المستخدم للبرنامج .
أي انك سوف تحتاج الى انشاء ادوات في وقت التنفيذ Run Time .
الان سوف نتعرف على كيفية انشاء الادوات وقت التنفيذ Run Time :
انظر الى هذا الكود
رمز: 1- Dim lblHi As New Label
2- lblHi.SetBounds (50, 50, 70,70)
3- lblHi.Text="Hello World"
4- Me.Controls.Add (lblHi) بهذا الكود نستطيع انشاء Label على الفورم في وقت
تنفيذ البرنامج وألان نأتي لشرح الكود
في السطر الاول قمنا بالاعلان عن المتغير lblHi على
انة من النوع Label .
في السطر الثاني قمنا بتحديد احداثيات lblHi على الفورم
بواسطة الخاصية SetBounds .
في السطر الثالث قمنا بتغيير الخاصية Text ليكون الاسم
الظاهر للLabel هو Hello World .
ثم في السطر الرابع والاخير قمنا باضافة lblHi الى الادوات التابعة للفورم
الحالي بواسطة الخاصيهِ Add المترفعة من الخاصية Controls التابعة للفورم .
ولكن لم نحتاج لعمل حدث تابع للاداة Label لاننا في الاغلب
نستخدمها لعرض معلومات على الفورم ولكن هنالك ادوات اخرى
مثل Button لا نستطيع التعامل معها الى بواسطة الإحداث التابعة
لها كحدث الضغط عليها مثلا .
والان سوف نتعرف على كيفية انشاء اداة في وقت تنفيذ
البرنامج مع انشاء احداث تابعة لها واولا يجب ان نعرف اننا اذا اردنا
الاعلان عن متغير على انة من نوع اداة ما بيجب ان يكون
الاعلان مبتدا بالكلمة المحجوزة WithEvents أي اننا نصرح
عن متغير من نوع اداة وله احداثة التابعة له مثلا نكتب
رمز: Dim WithEvents btnHi As New Button هنا اعلنا عن المتغير btnHi انة من النوع Button واذا اردنا الوصول
الى احداثة كلما علينا هوالدخول الى شاشة الكود ثم ومن قائمة
سرد العناصر الموجودة بالفورم الحالي Class Name ثم تحديد
الحدث المراد من قائمة سرد احداث العناصر

الان قم بفتح مشروع جديد
وقم في منطقة التصريحات العامة بكتابة هذا التصريح
Method Name انظر الى الصورة التالية
رمز: Dim WithEvents btnHi As Button ثم قم قائمة سرد العناصر Class Name باختيار العنصر btnHi كما
توضح الصورة السابقة ثم قم باختيار الحدث الذي تريدة لهذا العنصر
من قائمة سرد احداث العنصر انظر الصورة التالية

أي اننا بمجرد الاعلان عن متغير انة من نوع اداة فان الفجول
يقوم بانشاء احداث لذلك المتغير ويتاعمل معة وكانة
عنصر موجود على الفورم .
ونهاية لفهم ما سبق نقوم بهذا المثال
قم بانشاء مشروع جديد قم بكتابة هذا الكود في منطة التصريحات العامة
ثم قم باضافة Button على الفورم وقم بالنقر المزدوج علية لتدخل
الى شاشة الكود في الحدث Button1_Click قم بكتابة الكود التالي
WithEvents btnHi As Button
رمز: btnHi = New Button
btnHi.SetBounds(96, 50, 75, 23)
btnHi.Text = "Say Hi"
Me.Controls.Add(btnHi) ثم قم بعمل حدث Click للعنصر btnHi كما تعلما واكتب بداخلة
رمز: MessageBox.Show(“Hi Man”) والان شغل البرنامج وقم بالضغط على الزر Button1 ستلاحظ
ظهور Button جديد على الفور لة الاسم Say Hi اذا قمت بالضغط
علية سوف تظهر لك رسالة مكتوب بها Hi Man
تكلمنا في الدرس السابق عن الادوات وتعلمنا كيفية انشائها على الفورم في وقت التصميم
او في تنفيذ البرنامج ولكن بقي ملاحظة تخص انشاء الادوات في وقت التنفيذ
وهي كيفية حذف اداة ما في وقت التنفيذ ثم سننتقل بعدها الى خصائص الادوات .
حذف الادوات وقت التنفيذ :
مثلا لو كان لدينا Button اسميناة btnHi ونريد حذفة من على الفورم في وقت تنفيذ
البرنامج كلما علينا هو كتابة الكود التالي في زر امر حذف ذلك ال Button
رمز: Me.Controls.Remove(btnHi)
btnHi = Nothing