منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : الدرس الخامس-الادوات في vb.net 2005 (ج 1)
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
كاتب الموضوع : المخلب الجارح




بسم الله الرحمن الرحيم

الادوات في الفجول بيسك دو نت 2005


السلام عليكم ورحمة الله
اليوم سيكون درسنا عن الادوات خصائصها واحداثها



الادوات : هي عبارة عن عناصر برمجية لها مهام معينة تاخذ
اشكال رسومية ولكل اداة عملها الخاص

* تصنف الادوات الى صنفين :

1-Control :

وهو العنصر البرمجي الذي يأخذ شكل رسومي
معين ويوضع على الفورم اثنا ء تصميم
البرنامج ويقوم بتادية مهمة معينة مثل
Button , Textbox , Label
ولكل Control خصائص ووظائف تميزة عن غيرة

2-Component :

وهو شبيه بال Control فيما عدا :
1- لا يظهر في وقت التنفيذ أي وقت الاستعمال
2- يظهر اثنا تصميم البرنامج على شريط خاص به أسفل الفورم على شكل ايقونة
3- ولكن بالرغم من ذلك يمكن ان يظهر على الفورم اثناء التصميم مثل menu او وقت التنفيذ مثل OpenFileDialog

*التعامل مع الادوات :

الادوات تساعد المبرمج اثناء تصميمة برنامج بقدر كبير
فتقوم باختصار الكثير من الاكواد الصعبة والطويلة.
ولكل اداة من ادوات الفجول بيسك دوت نت غرض معين
ومهمة معينة وتقوم كل اداة بعمل مختلف عن الاداة الاخرى




انشاء الادوات:

* يمكنك اضافة اى اداة الى برنامجك باحدى هذة الطرق :
- 1 النقر المزدوج على الاداة المراد اضافتها
2 - لسحب والافلات باستخدام الماوس
3 - النقر نقرة واحدة على الاداة المراد اضافتها وثم
النقر نقرة واحدة على الفورم وسيتم اضافتها

*ولكن لو اردنا انشاء مجموعة كبيرة من الادواة كعمل
برنامج حاسبة بة ازرار عديدة مثلا
فاءن الطرق السابقة لاضافة الازرار ستكون متعبة قليلا
فما هو الحل ياتري في رايك ؟

الحل هو الضغط المتواصل على مفتاح Ctrl ثم النقر نقرة واحدة باستخدام
الماوس على الاداة التى تريد اضافه عددأ منها ثم النقر على الفورم ستلاحظ
في كل مرة تقوم بها بالنقر على الفورم اضافة الاداة مرة جديدة وباسم جديد
وعندما تريد الانتهاء من اضافة الاداة فما عليك سوى ايقاف الضغط على
مفتاح Ctrl اوالضغط على ايقونة موشر الماوس التي في اعلي الادوات
.
تجميع الأدوات داخل حاوية :
هنالك أدوات عملها الأساسي هو احتوى ادوات اخرى بداخلها مثل
TabControl, GroupBox, Panel,

وباستخدامها تستطيع تجميع عدد من الادوات في حاوية واحدة لغرض
نقل وتحريك او اخفاء واظهار تلك الادوات او لاغاض اخرى. المهم في
الامر اننا باستخدام حاويات الادوات نستطيع ان نتعامل مع مجموعة
من الادوات ككتلة واحدة .

هنالك عدة طرق لتضع الادوات داخل حاوية container وذلك
بسحب الاداة الموجود على الفورم الى داخل container او
بتحديد ال container الذي قمت باضافتة مسبقا الى الفورم
ثم و من قائمة الادوات تقوم بالنقر المزدوج على الاداة التى
تريد ان تضيفها الى container وستضاف بداخله مباشرتأ وليس على الفورم
او بواسطة السحب والافلات من قائمة الادوات الى داخل ال container .
او بواسطة القص واللصق من على الفورم الى داخل ال container .

* انشاء الادوات في وقت التنفيذ 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 كما
توضح الصورة السابقة ثم قم باختيار الحدث الذي تريدة لهذا العنصر
من قائمة سرد احداث العنصر انظر الصورة التالية



أي اننا بمجرد الاعلان عن متغير انة من نوع اداة فان الفجول
يقوم بانشاء احداث لذلك المتغير ويتاعمل معة وكانة
عنصر موجود على الفورم .
ونهاية لفهم ما سبق نقوم بهذا المثال
قم بانشاء مشروع جديد قم بكتابة هذا الكود في منطة التصريحات العامة
WithEvents btnHi As Button
ثم قم باضافة Button على الفورم وقم بالنقر المزدوج علية لتدخل
الى شاشة الكود في الحدث Button1_Click قم بكتابة الكود التالي


كود :
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
سيقوم ذلك الكود بحذف الزر btnHi من على فورم البرنامج حتى ولو تم انشاء ذلك
إل Button في وقت تصميم البرنامج أو في وقت التنفيذ ولكن حذف أداة
من على فورم البرنامج إثناء تشغيله لا يعني انة تم حذف أحداث تلك الاداة .

خصائص الادوات وكيفية التعامل معها :

الخاصية : هي قيمة او بعض القيم التابعة لاداة التحكم والتى تتحكم في عمل او مظهر الاداة .
مثلا اداة التحكم TextBox تمتلك الخاصية Name وهي التى تتحكم في اسم الاداة البرمجي
الذي يستخدمة المبرمج اثناء كتابة البرنامج وكذلك الخاصية Text وهذة الخاصية هي التى
تتحكم في الكتابة التي ستظهر في TextBox وتوجد ايضاء الخاصية BackColor وهي التى
تتحكم في لون الخلفية وهكذا .

لكل اداة خصائص عديدة وتتشابة معظم الادواة في الكثير من خصائصها ولكن هنالك خصائص
لا توجد الا في نوع محدد من الادوات مثلا الاداة ImageList تمتلك الخاصية Images
التى تستطيع باستخدامها من اختيار العدد الذي تريد من الصور التى سوف تخزنها هذة الاداة
لاستخدامها كايقونات مثلا مع ادوات اخرى مثل استخامها مع اداة العرض الشجري TreeView .

الخصائص في وقت التصميم :

لتعديل خصائص أي اداة من ادوات التحكم في وقت تصميم برنامجك يجب اولا ان تقوم بفتح
نافذة الخصائص وتستطيع فتحها من القائمة View واختيار Properties Windows
او بالضغط على المفتاح F4 من لوحة المفاتيح .
بعد فتح نافذة الخصائص يبقى ان نحدد الاداة التى نريد تعديل خصائصها وذلك يتم بطريقتين
الاولى باختيار اسم الاداة من اعلى نافذة الخصائص او بالنقرعليها نقرة واحدة باستخدام
الماوس فتظهر لنا جميع خصائص تلك الاداة في نافذة الخصائص بعدها نقوم
بالنقر بالماوس امام اسم الخاصية المراد تغييرها وكتابة او اختيار القيمة الجديدة لها .





انواع الخصائص :

هنالك انواع كثيرة للخصائص فهنالك الخصائص المركبة من اكثر من قيمة والخصائص المحصورة
بين قيم محددة وثابتة كذلك هنالك الخصائص المجمعة كمجموعة وسوف نستعرض كل نوع من
انواع الخصائص على حدة كي نفهم كيفية التعامل معها .

1-الخصائص المركبة :

بعض من الخصائص تمتلك قيم مركبة مثلا الخاصية Location تتكون من الحداثيان X and Y
والخاصية Size تتكون من القيمتين width and height والخاصية Font مثلا تتكون من القيم
font’s name, size, boldness وغيرها من خصائص الخطوط أي هنالك خصائص تتكون من اكثر من قيمة
ونلاحظ في الصورة السابقة ان هنالك خصائص امامها علامة الزائد ( + ) تلك هى الخصائص المركبة
فلوا قمت بالنقر على هذة العلامة سوف تظهر لك قيم هذة الخاصية .

2- الخصائص المحصورة :

هي الخصائص التى تكون قيمها محصورة ومحددة وتكون قيمها على شكل قائمة سرد بها القيم
الممكن اعطائها للخاصيه ومثال على هذة الخصائص الخاصية Visible فهذة الخاصية تمتلك
احدى القيمتين True and False ولا يمكنك اعطائها قيم اخرى الا اذا كانت القيمالاخرى
مساوية للقيم الحالية مثلا القيمة True= -1 والقيمة False= 0 .


3-الخصائص المجمعة :

هنالك خصائص تتكون قيمها من مجموعة من القيم او العناصر مثلا أداة التحكم ListBox تمتلك
الخاصية Items التى تتكون قيمتها من مجموعة من العناصر تلك التى تقوم اداة ListBox بعرضعا
او مثل الخاصية ImageList فيمها تتكون من مجموعة من الصور يتم عرضها بأدوات أخرى
كذلك هنالك خصائص قيمها تتطلب وجود أداة أخرى فمثلا لعمل صور باعلى عناصر الاداة
TabControl يجب ان توجد الاداة ImageList واعطاء الخاصية Images التابعة لها مجموعة من الصور
كي نقوم بعرضعا كايقونات في عناوين TabControl . وسوف نقوم بمثال لعمل ذلك .


مثال وضع الصور بعناوين TabControl :

قم بفتح مشروع جديد بالفجول بيسك دوت نت ثم قم باضافة
هذة الادوات الى فورم البرنامج الاداة TabControl وعدل
الخاصية Name لتكون TabExp والاداة ImageList

وعدل الخاصية Name لتكون ImglstTabExp ثم قم بالنقر نقرة واحدة على
الاداة ImglstTabExpفتظهر لك خصائصها بنافذة الخصائص ومنها قم بالنقر
امام الخاصية Images وستظهر لك نافذة محرر اضافة الصور التابع للاداة




ولو تلاحظ الصورة فانة يوجد صورتين تم اضافتهما مسبقا فقم انت الان
باختيار صورتين بواسطة الزر Add ثم بعد ذلك اضغط Ok عندها سيغلق محرر
اضافة الصور وستعود الى وضع تصميم البرنامج الان قم بتحديد الاداة TabExp
لتظهر خصائصها بنافذة الخصائص والان قم بالنقر امام الخاصية ImageList التابعة
للاداة TabExp وقم باختيار الاداة ImglstTabExp



والان قم بالنقر امام الخاصية TabPages التابعة للاداة TabExp وستظهر
لك نافذة تعديل واضافة التاب (Tabs) وباقي الشرح انظر للصورة




ويجب ان تعرف ان الصفحات او ما يعرف بالتاب (Tabs) المكونة للاداة TabExp
تعتبر ادوات داخلية لها خصائصها المرتكزة على خصائص الاداة الرئيسية وهي
TabControl ويمكنك اضافة العدد الذي تريد من التاب
من خلال الزر Add الموجود اسفل نافذة محرر اضافة وتعديل التاب

وفي النهاية سوف يظهر البرنامج بهذا الشكل




للدرس يقية انتظروني

والسلام عليكم ورحمة الله