Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
دورة كـن خبـرا
ف لغــة
C#
وب ب ازل ب هم وب الل ب ازل س ب سيا أيا و خطير ا لا تؤ خذيا ى يس)
ر ا ولا تحهل علا صر كها هلت
على اذ ن كبلا ر ا ولا تحهلا
نا لا طاكة اا و عف عا و غفز
اا و ر ها يت نولايا فايصريا على
( اقوم اكافز
صدق هللا اعظو (286: ابقزة)
لإهـــــد ء
للهجلجالله. ورضوابا ........................................ تقربا
:إلى
فناء الحبة في األرض لتنبت سبـع سنابل ، في كل سنبلة مائة . من أفنى ذاته في ذات الحق .(دمحم صل هللا علة وسلم )......................منقذ البشرية . حبة
:إلى
مىسعىاوشقىالىىعمبالشاحتوالهىاءالزيىلميبخلىابشيمىاجلذفعىافيطشيقالىجاحالزيىعلمىواأوىشتقيسلمالح
) ........................................مىأكىوبهمثلياألعلىىفخشيىاعتضاصيقذوتيفيحياتيياةبحكمتوصبش
(.أبــــــــي
:إلى
مىكىتفيعيىهادمعهىفيقلباليىابيعالتيالتماللعطاءإلىمىحكىسعادتىابخيىطمىسىجتمىقلىبهىئلى
...................) ن األما.هاخفقهىعلىلساوهادعاءمىبعالتضحيتوبحشالحىاوىحضه
(.والدتيالحبيبة
:إلى أسكاوالعائلتومىيىتظشوومىيأوأكىوأخاهماألكبشوأمألويكـمىحبهميجشيفيعشوقىاويلهجبزكشاهمفؤادواإلى
....................................................................ــبشواليكىوىاسىـــــــذالشـــــــذةوعــــــىوالضمه
.(أخوانيوأخواتي. ) :إلى
مىعلمىواحشوفامىزهبىكلماتمىذسسوعباساتمىأسمىىأجلىعباساتفيالعلمئلىمىصاغىالىاعلمهمحشوفاومىف
أساتذتنااألوف..)كشهممىاسةتىيشلىاسيشةالعـــــــلمىالىجاحىالزيىمابخلىاعليىاوساعذوواولىبكلمتإلى
(.ياء
(فإلى هؤالء نهدي ثمرة جهدنا المتواضع هذا)
:إعـــــداد
م / دمحم كمــــال أحمــــد
Email:[email protected]
م / شرف محمـــد رضــا
Email: [email protected]
الفهـــــرس
Design environmentبئـة التصمــم (1)
Variablesالمتغـــرات (2)
Conditional Logicالجمل الشرطة (3)
Loop جمل التكرار والدوارات الشرطة (4)
Methodsالــدوال (5)
Arraysالمصفوفات (6)
Eventsاألحــداث (7)
Manipulating Filesالتعامل مع الملفــات (8)
Debuggingتصحح أخطاء التطبك (9)
#Cالتارخ والولت ف لغة (10)
Object-Oriented (OOP) Programmingبرمجة الكائنات الموجهة (11)
برمجة تطبمات الونـدوز (12)
مشـارع للتعامل مع لواعد البانات (13)
(اإلصدار الثان من الكتاب )
بإذن هللا تعالى
ممدمة
بئـة التصمــم
Design environmentبئـة التصمــم (1)
كل البرامج تحتوى على بئة التشغل الخاصة بها وهى بمثابة الحاوة التى تضم
.كل مكونات البرنامج التى لد حتاجها المبرمج فى عمله
(Visual Studio)للدخول إلى نافذة التصمم الخاص بمحرر التطور
أوال لم بإنشاء مشروع جدد وذلن عن طرك فتح برنامج
(Visual Studio2010) أو(Visual Studio 2012) من لائمةStart-- < ثم
New Projectواختار Fileالذهاب إلى لائمة
(Visual Studio 2010)
.OKستظهرلن هذه النافذة كما مكنن تغر اسم البرنامج ومسار حفظه ثم نضغط
(Visual Studio 2012)
. سوف تظهر لنا النافذة التالة الخاصة بالمشروع األول OKبعد الضغط على زر
( :1)النافذة رلم
وهى تضم كل األدوات التى لد حتاجها برنامجن Toolboxتسمى
(Buttons, Menus, .... ) إن لم تكن ظاهرة لدن فاذهب إلى لائمةView
: كما لىCtrl + Alt + Xثم اخترها لكى تظهر أو اكتف بالضغط على اإلختصـار
( :2)النافذة رلم
الذى سنضع عله األدوات الالزمة لبناء المشروع كما مكنن Formتسمى
:إضافة أكثر من واجهة لمشروعن بعد ذلن كما لى
( :3)النافذة رلم
متصفح المشروع وسمى كذلن ألنه عرض كل Solution Explorerتسمى
واختار Viewالملفات التى ضمها المشروع ومكن إظهاره من لائمة
Solution Explorer أواإلكتفاء بالضغط على اإلختصارCtrl + Alt + L كما لى:
( :4)النافذة رلم
وتحتوى على خصائص األداة التى نحددهاPropertiesتسمى نافذة الخصائص
فى , ومن خالل هذه النافذة مكننا تغر اللون والخلفة والخط وبالى الخصائص
F4 حالة إختفائها لم بإظهارها من خالل الضغط على مفتاح
( :5)النافذة رلم
وتعرض هذه النافذة األخطاء المرتكبة لبل بدء عملة Error Listلائمة األخطاء
من خاللها مكنن معرفة مكان الخطأ لأتى لن Compilationترجمة الكود
.تصححه
Variablesالمتغـــرات (2)
Strings المتغرات النصة 2.1
المتغرات النصة تتكون من مجموعة الحروف واألرلام الموجودة فى لوحة
.المفاتح بجهاز الكمبوتر
: لتعرف متغر نصى كاآلتـى
(Type) Variable Name = Value
String strVariable = “Internet”;
( 1)برنامج
من فجوال ستودو File -> New -> Projectأنشىء مشروع جدد من لائمة
.Strings باسم Windows Forms Applicationواختر نوع المشروع
:ضع على الفورم التى تظهر لن األدوات التالة وأعطى لها الخصائص اآلتة
1- Label:
Name: label1
Text: اإلسـم
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
2- Button:
Name: button1
Text:إظهارمحتواتمربعالنص
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
3- TextBox1
Name: textBox1
Text:إظهارمحتواتمربعالنص
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
Right-to-left:Yes
بالضغط مرتن بالماوس على Button الخاص بإظهار النص نشىء لنا
Button1_Click() الحدث
:لم بكتابة الكود التالى بداخله كالتالى
privatevoid button1_Click(object sender, EventArgs e) { /* This is a Comment */ //This is a String Example string firstName; firstName = textBox1.Text; MessageBox.Show(" محتىىمشبعالىصهى :" + firstName); }
الحظ عمله دمج النصوص فى MessageBox بالعالمة + وهى تعمل
.على دمج محتوات النصوص مع المتغرات النصة كما هو موضح بالكود
كما تالحظ كتابة التعلمات على الكود أعلى باللون األخضر ولعمل التعلمات
Comments بلغة #C تم كتابة // فى أول السطر الذى تكتبه هذا لكتابة
سطر واحد من التعلك أما اذا رغبت فى كتابة عدة أسطر من التعلمات لفهم ماتم عمله بالكود وإسترجاع ما تم تنفذه تم كتابة
/* تم كتابة أسطر التعلمات هنا * /
: ( String Manipulation) على المتغرات النصةعملات
(Capital)إلجراء عملات على المتغر النصى بحث ظهر بالحروف الكبرة -1 . لذلن ()ToUpperتستخدم الدالة
()Trimلحذف المسافات الفارغة فى بداة النص وأخره تم استخدام الدالة -2
لحذف المسافات الفارغة أو الحروف فى بداة النص تم استخدام الدالة -3
TrimStart()
stringTrim = stringTrim.TrimStart( trimChars );
للبحث عن حرف أو مجموعة حروف فى النص تم استخدام الدالة -4
Contains()
لمعرفة مولع حرف معن من بن مجموعة حروف تم استخدام الدالة -5IndexOf()
()Insertإلضافة حرف أو مجموعة من حروف لنص معن تم استخدام الدالة -6
string someText = "Some Text"; someText = someText.Insert( 5, "More " );
إلضافة حرف أو مجموعة من حروف لنص معن تم استخدام الدالة -7
PadLeft()
string paddingLeft = textBox5.Text;
paddingLeft = paddingLeft.PadLeft( 20 );
paddingLeft = paddingLeft.PadLeft(20 , '*');
لحذف حرف أو مجموعة من حروف لنص معن تم استخدام الدالة -8Remove()
string oldString = "some text text text";
MessageBox.Show(oldString);
string newString = oldString.Remove(10, 9);
MessageBox.Show(newString);
إلحالل حرف أو مجموعة من الحروف محل نص معن تستخدم الدالة -9Replace(old_Word , new_Word)
string spellingError = "mistak";
spellingError = spellingError.Replace(spellingError, "mistake");
للحصول على ممطع من نص معن بتدىء من حرف معن نستخدم الدالة -10
Substring(start_position, no_of_chars_to_grab)
دالة تستخدم لفصل مجموعة من الحروف من نص معن بناءأ على حرف -11
()Splitمعن ومكنن وضع النص الناتج فى مصفوفة تسمى الدالة
دالة تستخدم لتجمع مجموعة من الحروف من نص معن بناءأ على حرف -12
()Joinمعن تسمى الدالة
Integers المتغرات الرلمة 2.2
هى متغرات رلمة وال تمبل نصوص وال فواصل عشرة
:وتم تعرفها كالتالى
(Type) Variable Name = Value
int intVariable = 10;
Float المتغرات الرلمة 2.3
هى متغرات رلمة وال تمبل نصوص وتمبل فواصل عشرة وتتسع لسبعفى
خانات من األرلام والبد من كتابة الحرف Fنهاة الممه المعطاة للمتغر
: وحجمها من ذاكرة الكمبوتر هو
Float: 1.5 × 10-45 to 3.4 × 1038
:وتم تعرفها كالتالى
(Type) Variable Name = Value
float floatVariable = 10.56F;
Double المتغرات الرلمة 2.4
16هى متغرات رلمة وال تمبل نصوص وتمبل فواصل عشرة وتتسع لـ
خانة من األرلـام
: وحجمها من ذاكرة الكمبوتر هو
Double: 5.0 × 10-324 to 1.7 × 10308
:وتم تعرفها كالتالى
(Type) Variable Name = Value
doubledoubleVariable = 10.56;
برنامج (2)
من فجوال ستودو File -> New -> Projectأنشىء مشروع جدد من لائمة
.Numbers باسم Windows Forms Applicationواختر نوع المشروع
:ضع على الفورم التى تظهر لن األدوات التالة وأعطى لها الخصائص اآلتة
1- Button:
Name: button1
Text: Integers
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
2- Button:
Name: button2
Text: Float
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
3- Button:
Name: button3
Text: Double
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
بالضغط مرتن بالماوس على Button Integers نشىء لنا
Button1_Click () الحدث
:لم بكتابة الكود التالى بداخله كالتالى
privatevoid button1_Click(object sender, EventArgs e) { int myInteger = 5; MessageBox.Show(myInteger .ToString ()); }
بالضغط مرتن بالماوس على Button Float نشىء لنا
Button2_Click () الحدث
:لم بكتابة الكود التالى بداخله كالتالى
privatevoid button2_Click(object sender, EventArgs e) { float myFloat = 1.2345678F; MessageBox.Show(myFloat.ToString()); }
بالضغط مرتن بالماوس على Button Double نشىء لنا
Button3_Click () الحدث
:لم بكتابة الكود التالى بداخله كالتالى
privatevoid button3_Click(object sender, EventArgs e) { double myDouble = 1.2345678988888888888; MessageBox.Show(myDouble.ToString()); }
Conditional Logicالجمل الشرطة (3)
IF :جملة -1
تموم بإختبار الشرط إذا تحمك الشرط و كان صححا تنفذ الجمل التى بعدها بداخل
إذا تحمك الشرط و Else if سمى IF وإذا كان هنان شرط ثانى لجملة {}األلواس
أما إذا لم تحمك تفذ الجملة {}كان صححا تنفذ الجمل التى بعدها بداخل األلواس
. تنفذ إذا لم تم تنفذ أى من الشروطelseبعد األلواس مباشرة لو كان هنان
IF (Condition)
{
Statements;
}
IF (Condition)
{
Statements;
}
Else if (Condition)
{
Statements;
}
Else
{
Statements;
}
برنامج (2)
من فجوال ستودو File -> New -> Projectأنشىء مشروع جدد من لائمة
.Calculator باسم Windows Forms Applicationواختر نوع المشروع
:ضع على الفورم التى تظهر لن األدوات التالة وأعطى لها الخصائص اآلتة
1- Button:
Name: button1
Text: Integers
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
2- Button:
Name: button2
Text: Integers
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
3- Button:
Name: button3
Text: Integers
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
4- Button:
Name: button4
Text: Integers
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
5- Button:
Name: button5
Text: Integers
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
6- Button:
Name: button6
Text: Integers
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
7- Button:
Name: button7
Text: Integers
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
8- Button:
Name: button8
Text: Integers
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
9- Button:
Name: button9
Text: Integers
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
10- Button:
Name: btnZero
Text: Integers
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
11- Button:
Name: btnFraction
Text: Integers
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
12- Button:
Name: btnAdd
Text: Integers
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
13- Button:
Name: btnSubtract
Text: Integers
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
14- Button:
Name: btnMultiply
Text: Integers
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
15- Button:
Name: btnDivide
Text: Integers
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
16- Button:
Name: btnEqual
Text: Integers
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
17- Button:
Name: btnClear
Text: Integers
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
18- TextBox1
Name: txtDisplay
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
Right-to-left: Yes
وبعد الضغط مرتن على كل حدث خاص باألزرار على الفورم أكتب سطور الكود
:التالة
privatevoid button1_Click(object sender, EventArgs e) { txtDisplay.Text = txtDisplay.Text + button1.Text; } privatevoid button2_Click(object sender, EventArgs e) { txtDisplay.Text = txtDisplay.Text + button2.Text; } privatevoid button3_Click(object sender, EventArgs e) { txtDisplay.Text = txtDisplay.Text + button3.Text; } privatevoid button4_Click(object sender, EventArgs e) { txtDisplay.Text = txtDisplay.Text + button4.Text; } privatevoid button5_Click(object sender, EventArgs e) { txtDisplay.Text = txtDisplay.Text + button5.Text; } privatevoid button6_Click(object sender, EventArgs e) { txtDisplay.Text = txtDisplay.Text + button6.Text; } privatevoid button7_Click(object sender, EventArgs e) { txtDisplay.Text = txtDisplay.Text + button7.Text; } privatevoid button8_Click(object sender, EventArgs e) { txtDisplay.Text = txtDisplay.Text + button8.Text; } privatevoid button9_Click(object sender, EventArgs e) { txtDisplay.Text = txtDisplay.Text + button9.Text; } privatevoid btnFraction_Click(object sender, EventArgs e) { txtDisplay.Text = txtDisplay.Text + btnFraction.Text; } privatevoid btnZero_Click(object sender, EventArgs e) {
txtDisplay.Text = txtDisplay.Text + btnZero.Text; } privatevoid btnClear_Click(object sender, EventArgs e) { txtDisplay.Clear(); } //Calculator Variables double total1 = 0; double total2 = 0; bool plusButton = false; bool subtractButton = false; bool multiplyButton = false; bool divideButton = false; privatevoid btnAdd_Click(object sender, EventArgs e) { total1 = double.Parse(txtDisplay.Text) + total1 ; txtDisplay.Clear(); //TRUE plusButton = true ; subtractButton = false; multiplyButton = false; divideButton = false; } privatevoid btnEqual_Click(object sender, EventArgs e) { if (plusButton == true ) { total2 = total1 + double.Parse(txtDisplay.Text) ; } elseif (subtractButton ==true) { total2 = total1- double.Parse(txtDisplay.Text) ; } elseif (multiplyButton == true) { total2 = total1 *double.Parse(txtDisplay.Text); }
elseif (divideButton == true) { total2 = total1 / double.Parse(txtDisplay.Text); } txtDisplay.Text = total2.ToString(); total1 = 0; } privatevoid btnSubtract_Click(object sender, EventArgs e) { total1 = double.Parse(txtDisplay.Text)- total1 ; txtDisplay.Clear(); plusButton = false; //TRUE subtractButton = true; multiplyButton = false; divideButton = false; } privatevoid btnMultiply_Click(object sender, EventArgs e) { total1 = double.Parse(txtDisplay.Text); txtDisplay.Clear(); plusButton = false; subtractButton = false; //TRUE multiplyButton = true; divideButton = false; } privatevoid btnDivide_Click(object sender, EventArgs e) { total1 = double.Parse(txtDisplay.Text) ; txtDisplay.Clear(); plusButton = false; subtractButton = false; multiplyButton = false ; //TRUE divideButton = true; }
Switchجملة -2
إذا تحممت Casesتموم بإختبار الشرط بناءا على مجموعة من الحاالت تسمى
وتم الخروج من Case تم تنفذ ما بداخل Switchحالة من الحاالت بداخل جملة
;break بكلمة Switchجملة
Switch ()
{
Case “Your_Test_Here_1”:
// Your Code Here!
Break;
Case “Your_Test_Here_2”:
// Your Code Here!
Break;
Case “Your_Test_Here_2”:
// Your Code Here!
Break;
Default:
// Your Code Here!
Break;
}
برنامج (4)
من فجوال ستودو File -> New -> Projectأنشىء مشروع جدد من لائمة
باسم Windows Forms Applicationواختر نوع المشروع
Calculator Using Switch Statement.
ضع على الفورم التى تظهر لن األدوات التالة وأعطى لها نفس الخصائص
:السابمة ثم أضف الكود التالى
privatevoid button1_Click(object sender, EventArgs e) { txtDisplay.Text = txtDisplay.Text + button1.Text; } privatevoid button2_Click(object sender, EventArgs e) { txtDisplay.Text = txtDisplay.Text + button2.Text; } privatevoid button3_Click(object sender, EventArgs e) { txtDisplay.Text = txtDisplay.Text + button3.Text; } privatevoid button4_Click(object sender, EventArgs e) { txtDisplay.Text = txtDisplay.Text + button4.Text; } privatevoid button5_Click(object sender, EventArgs e) { txtDisplay.Text = txtDisplay.Text + button5.Text; } privatevoid button6_Click(object sender, EventArgs e) { txtDisplay.Text = txtDisplay.Text + button6.Text; } privatevoid button7_Click(object sender, EventArgs e) { txtDisplay.Text = txtDisplay.Text + button7.Text; } privatevoid button8_Click(object sender, EventArgs e) {
txtDisplay.Text = txtDisplay.Text + button8.Text; } privatevoid button9_Click(object sender, EventArgs e) { txtDisplay.Text = txtDisplay.Text + button9.Text; } privatevoid btnFraction_Click(object sender, EventArgs e) { txtDisplay.Text = txtDisplay.Text + btnFraction.Text; } privatevoid btnZero_Click(object sender, EventArgs e) { txtDisplay.Text = txtDisplay.Text + btnZero.Text; } privatevoid btnClear_Click(object sender, EventArgs e) { txtDisplay.Clear(); } //Calculator Variables double total1 = 0; double total2 = 0; bool plusButton = false; bool subtractButton = false; bool multiplyButton = false; bool divideButton = false; string theOperator; privatevoid btnAdd_Click(object sender, EventArgs e) { total1 = double.Parse(txtDisplay.Text) + total1 ; txtDisplay.Clear(); theOperator = "+"; //TRUE plusButton = true ; subtractButton = false; multiplyButton = false; divideButton = false; }
privatevoid btnEqual_Click(object sender, EventArgs e) { switch (theOperator) { case"+": total2 = total1 + double.Parse(txtDisplay.Text); break; case"-": total2 = total1 - double.Parse(txtDisplay.Text); break; case"*": total2 = total1 * double.Parse(txtDisplay.Text); break; case"/": total2 = total1 / double.Parse(txtDisplay.Text); break; default: break; } txtDisplay.Text = total2.ToString(); total1 = 0; } privatevoid btnSubtract_Click(object sender, EventArgs e) { total1 = double.Parse(txtDisplay.Text)- total1 ; txtDisplay.Clear(); theOperator = "-"; plusButton = false; //TRUE subtractButton = true; multiplyButton = false; divideButton = false; } privatevoid btnMultiply_Click(object sender, EventArgs e) { total1 = double.Parse(txtDisplay.Text); txtDisplay.Clear(); theOperator = "*";
plusButton = false; subtractButton = false; //TRUE multiplyButton = true; divideButton = false; } privatevoid btnDivide_Click(object sender, EventArgs e) { total1 = double.Parse(txtDisplay.Text) ; txtDisplay.Clear(); theOperator = "/"; plusButton = false; subtractButton = false; multiplyButton = false ; //TRUE divideButton = true; }
Loopsالشرطة الدورات جمل التكرار و(4)
:()Forجملة - 1
تموم هذه الجملة بتكرار عدد معن من الجمل بناءا على عدد معن تم تحدده
Forداخل جملة
for (StartValue ; End_Value ; Update_Expression) { Statements; }
for (int i = 0; i < length; i++) { Statements; }
برنامج (5)
من فجوال ستودو File -> New -> Projectأنشىء مشروع جدد من لائمة
باسم Windows Forms Applicationواختر نوع المشروع
For Loop.
:ضع على الفورم التى تظهر لن األدوات التالة وأعطى لها الخصائص اآلتة
1- Button:
Name: button1
Text: For Loop
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
2- Textbox:
Name: textBox1
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
Right-to-left: Yes
3- Textbox:
Name: textBox2
Right-to-left: Yes
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
4- Label:
Name: label1
Text : بداةالتكرار
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
4- Label:
Name: label2
Text : نهاةالتكرار
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
5- Listbox:
Name: listBox1
Right-to-left: Yes
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
بالضغط مرتن بالماوس على Button Double نشىء لنا
Button1_Click () الحدث
:لم بكتابة الكود التالى بداخله كالتالى
privatevoid button1_Click(object sender, EventArgs e) { listBox1.Items.Clear(); int answer = 0; int loopStart = int.Parse(textBox1.Text); int loopEnd = int.Parse(textBox2.Text); for (int i = loopStart; i <= loopEnd; i++) { answer = answer + i; listBox1.Items.Add(answer.ToString()); } }
برنامج (6) تدرب عملى
من فجوال ستودو File -> New -> Projectأنشىء مشروع جدد من لائمة
باسم Windows Forms Applicationواختر نوع المشروع
For Loop Total Number وإظهار 100 إلى 1 إلظهار مجموع األرلام من
LabelوMessageBoxالناتج فى
:ضع على الفورم التى تظهر لن األدوات التالة وأعطى لها الخصائص اآلتة
1- Button:
Name: button1
Text: 100- 1 مجموعاألعدادمن
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
2- Label:
Name: label2
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
بالضغط مرتن بالماوس على Button Double نشىء لنا
Button1_Click () الحدث
:لم بكتابة الكود التالى بداخله كالتالى
privatevoid button1_Click(object sender, EventArgs e) { int answer = 0; for (int i = 0; i < 101; i++) { answer = answer + 1; label1.Text ="الىاتج ="+ answer.ToString (); } MessageBox.Show("الىاتج =" + answer.ToString()); }
:() Whileجملة - 2
تموم هذه الجملة بتكرار عدد معن من الجمل بناءا على عدد معن تم تحدده
{}Whileداخل شرط الجملة مع وضع عداد للجمل بن ألواس الجملة
برنامج (7)
من فجوال ستودو File -> New -> Projectأنشىء مشروع جدد من لائمة
باسم Windows Forms Applicationواختر نوع المشروع
While Loop
:ضع على الفورم التى تظهر لن األدوات التالة وأعطى لها الخصائص اآلتة
1- Button:
Name: button1
Text: While Loop
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
2- Textbox:
Name: textBox1
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
Right-to-left: Yes
3- Textbox:
Name: textBox2
Right-to-left: Yes
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
4- Label:
Name: label1
Text : بداةالتكرار
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
4- Label:
Name: label2
Text : نهاةالتكرار
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
5- List box:
Name: listBox1
Right-to-left: Yes
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
بالضغط مرتن بالماوس على Button Double نشىء لنا
Button1_Click () الحدث
:لم بكتابة الكود التالى بداخله كالتالى
privatevoid button1_Click(object sender, EventArgs e) { int loopStart = int.Parse(textBox1.Text); int loopEnd = int.Parse(textBox2.Text); int i = 0; int answer = 0; while (i<loopEnd ) { answer = answer + i; listBox1.Items.Add(answer.ToString()); i++; } }
:{.… }While();doجملة - 3
تموم هذه الجملة بتكرار عدد معن من الجمل بناءا على عدد معن تم تحدده
doداخل شرط الجملة مع وضع عداد للجمل بن ألواس الجملة
{}While(); والفرق بنها وبن جملةWhile() أنه فى جملة do{}While() تم
. على األلل مرة واحدة لبل تنفذ الشرط doتنفذ جمل الكود بداخل
برنامج (8) تدرب عملى
من فجوال ستودو File -> New -> Projectأنشىء مشروع جدد من لائمة
باسم Windows Forms Applicationواختر نوع المشروع
DoWhileLoop
:ضع على الفورم التى تظهر لن األدوات التالة وأعطى لها الخصائص اآلتة
1- Button:
Name: button1
Text:do While Loop
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
2- Textbox:
Name: textBox1
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
Right-to-left: Yes
3- Textbox:
Name: textBox2
Right-to-left: Yes
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
4- Label:
Name: label1
Text : بداةالتكرار
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
4- Label:
Name: label2
Text : نهاةالتكرار
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
5- List box:
Name: listBox1
Right-to-left: Yes
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
بالضغط مرتن بالماوس على Button Double نشىء لنا
Button1_Click () الحدث
:لم بكتابة الكود التالى بداخله كالتالى
privatevoid button1_Click(object sender, EventArgs e) { int loopStart = int.Parse(textBox1.Text); int loopEnd = int.Parse(textBox2.Text); int i = 0; int answer = 0; do { answer = answer + i; listBox1.Items.Add(answer.ToString()); i++; } while (i<loopEnd); }
Methodsالــدوال (5)
ومكن أن ترجع {}الدوال تموم بتنفذ مجموعة من سطور الكود داخل األلواس
لمة كانت نصة أو رلمة ومكن أن نكتب عدد من المدخالت تسمى
Parameters أونتركها بدونParameters ومكن للممة أن نضعها فى متغر
:وصغة الدوال هى كما لى
(Type)MethodName(Param1 , Param2 , …….,ParamN)
{
Statements;
Return ;
}
برنامج (9)تدرب عملى
من فجوال ستودو File -> New -> Projectأنشىء مشروع جدد من لائمة
Methods باسم Windows Forms Applicationواختر نوع المشروع
:ضع على الفورم التى تظهر لن األدوات التالة وأعطى لها الخصائص اآلتة
1- Label:
Name: label1
Text : الرلماألول
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
2- Label:
Name: label2
Text : الرلمالثانى
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
3- Label:
Name: lblResult
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
4- Textbox:
Name: textBox1
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
Right-to-left: Yes
5- Textbox:
Name: textBox2
Right-to-left: Yes
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
6- Button:
Name: button1
Text:جمع
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
7- Button:
Name: button1
Text:طرح
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
8- Button:
Name: button1
Text: ضرب
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
9- Button:
Name: button1
Text:لسمـة
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
: Button التالة إلستدعاءها فى كلMethods كتابة الدوال
// Add Method privateint Add(int Num1, int Num2) { int answer = 0; answer = Num1 + Num2; return answer; } // Subtract Method privateint Subtract(int Num1, int Num2) { int answer = 0; answer = Num1 - Num2; return answer; } // Multiply Method
privateint Multiply(int Num1, int Num2) { int answer = 0; answer = Num1 * Num2; return answer; } // Divide Method privateint Divide(int Num1, int Num2) { int answer = 0; answer = Num1 / Num2; return answer; } // Clear Method privatevoid Clear() { textBox1.Text = String.Empty; textBox2.Text = ""; lblResult.Text = ""; }
بالضغط مرتن بالماوس على Button Double نشىء لنا
Button1_Click () الحدث
:لم بكتابة الكود التالى بداخله كالتالى
privatevoid button1_Click(object sender, EventArgs e) { int Number1 = int.Parse(textBox1.Text); int Number2 = int.Parse(textBox2.Text); int result = 0; result = Add(Number1 ,Number2); lblResult.Text = "الىـاتج =" + result.ToString(); }
بالضغط مرتن بالماوس على Button Double نشىء لنا
Button2_Click () الحدث
:لم بكتابة الكود التالى بداخله كالتالى
privatevoid button2_Click(object sender, EventArgs e) { int Number1 = int.Parse(textBox1.Text); int Number2 = int.Parse(textBox2.Text); int result = 0; result = Subtract(Number1, Number2); lblResult.Text = "الىـاتج =" + result.ToString(); }
بالضغط مرتن بالماوس على Button Double نشىء لنا
Button3_Click () الحدث
:لم بكتابة الكود التالى بداخله كالتالى
privatevoid button3_Click(object sender, EventArgs e) { int Number1 = int.Parse(textBox1.Text); int Number2 = int.Parse(textBox2.Text); int result = 0; result = Multiply(Number1, Number2); lblResult.Text = "الىـاتج =" + result.ToString(); }
بالضغط مرتن بالماوس على Button Double نشىء لنا
Button4_Click () الحدث
:لم بكتابة الكود التالى بداخله كالتالى
privatevoid button4_Click(object sender, EventArgs e) { int Number1 = int.Parse(textBox1.Text); int Number2 = int.Parse(textBox2.Text); int result = 0; result = Divide(Number1, Number2); lblResult.Text = "الىـاتج =" + result.ToString(); }
Arraysالمصفـوفـــات(6)
0وبدأ بالرلم Indexهى مجموعة من العناصر لها نفس النوع مرتبة بـما سمى
:وتم تعرفها كالتالى
Type array_name[position_in_array] = array_value;
وتحدد عدد One-Dimensional Arraysلتعرف المصفوفة ذات البعد اواحد
العناصر التى مكن أن تتسع لها المصفوفة
int[ ] lottery_numbers = new int[49];
:إلعطاء لم للمصفوفة بطرمتن كالتالى
:الطرمة األولى ( أ)
Numbers [0] = 1; Numbers [1] = 2; Numbers [2] = 3; Numbers [3] = 4;
:الطرمة الثانة ( ب)
int[] Numbers = new int[4] { 1, 2, 3, 4 };
برنامج (10)
من فجوال ستودو File -> New -> Projectأنشىء مشروع جدد من لائمة
باسم Windows Forms Applicationواختر نوع المشروع
OneDimentionArray مصفوفة ذات البعد الواحد
:ضع على الفورم التى تظهر لن األدوات التالة وأعطى لها الخصائص اآلتة
1- Button:
Name: button1
Text:OneDimensionArray
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
2- List box:
Name: listBox1
Right-to-left: Yes
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
بالضغط مرتن بالماوس على Button Double نشىء لنا
Button1_Click () الحدث
:لم بكتابة الكود التالى بداخله كالتالى
privatevoid button1_Click(object sender, EventArgs e) { int[] Numbers = newint[4]; Numbers[0] = 1; Numbers[1] = 2; Numbers[2] = 3; Numbers[3] = 4; for بطشيقت//for (int i = 0; i < Numbers.Length; i++) { listBox1.Items.Add(Numbers[i]); } foreach بطشيقت//foreach (int item in Numbers) { listBox1.Items.Add(item); } }
:()Foreachجملة
ولكنها لس لها عدد محدد من العناصر بل تموم هذه الجملة forوهى مثل جملة
بعمل تكرار على مجموعة من العناصر داخل مصفوفة
foreach (type item in Collection) { Statements; }
: :Two-Dimensional Arraysتعرف مصفوفة ذات البعدن
:الطرمة األولى ( أ)
String [ , ] Names ;
:الطرمة الثانة ( أ)
String [ ][ ] Names ;
int[,] a =int[3,4]={
{0,1,2,3},/* initializers for row indexed by 0 */
{4,5,6,7},/* initializers for row indexed by 1 */
{8,9,10,11}/* initializers for row indexed by 2 */
};
وهو معرفة Subscriptوللوصول لعنصر فى المصفوفة تم بطرمة
Row index & Column index of the Array كالتالى :
int val = a[2,3];
: :Three-Dimensional Arraysتعرف مصفوفة ذات ثالثة أبعاد
:الطرمة األولى ( ب)
String [ , , ] Names ;
:الطرمة الثانة ( ب)
String [ ][ ][] Names ;
وهكذا تتم تعرف المصفوفات كلما أرت زادة البعد لهـا
برنامج (11)
من فجوال ستودو File -> New -> Projectأنشىء مشروع جدد من لائمة
باسم Windows Forms Applicationواختر نوع المشروع
TwoDimentionArrayمصفوفة ذات البعدن
:ضع على الفورم التى تظهر لن األدوات التالة وأعطى لها الخصائص اآلتة
1- Button:
Name: button1
Text:TwoDimensionArray
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
2- Rich Textbox:
Name: richTextBox1
Right-to-left: Yes
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
بالضغط مرتن بالماوس على Button Double نشىء لنا
Button1_Click () الحدث
:لم بكتابة الكود التالى بداخله كالتالى
privatevoid button1_Click(object sender, EventArgs e) { /* an array with 5 rows and 2 columns*/ int[,] a = newint[5, 2] { { 0, 0 }, { 1, 2 }, { 2, 4 }, { 3, 6 }, { 4, 8 }}; int i, j; /* output each array element's value */ for (i = 0; i < 5; i++) { for (j = 0; j < 2; j++) { //Subscripting // 0 0 // 1 2 // 2 4 // 3 6 // 4 8
// | // V //a[0,0] = 0 //a[0,1] = 0 //a[1,0] = 1 //a[1,1] = 2 //a[2,0] = 2 //a[2,1] = 4 //a[3,0] = 3 //a[3,1] = 6 //a[4,0] = 4 //a[4,1] = 8 richTextBox1.Text += "a["+i+","+j+"] = " + a[i, j] +"\n"; } } }
Eventsاألحــداث ( 7)
Click 1 – حـدث
:انمرفولالحدثللزر
private void button1_Click(object sender, EventArgs e) {
}
: جبأنتشاهدهذا. تشغاللبرنامجوانمرفولالزر
MessageBox.Show( sender.ToString() );
MessageBox.Show( e.ToString());
:مربع النص سوف ظهر ما لى
The MouseDown Event in C# .NET 2 -
الخصائص :لنرىماهاألحداثالمتاحةللنموذجنفسه،انمرفولالجزءالعلومنمائمة
،كمافالصورةأدناه
عند الضغط على الجزء العلوى األصفر فى لائمة الخصائص ستظهر األحداث كما
:لى
: الختبار أى من ازرار الماوس تموم باختاره كما لى ifكما مكن استخدام جملة
جب أن .أزرارالماوس علىالنموذجنمر فوق أي من لاتشغل البرنامجوعند
. تشاهدعرضمربع رسالة
3 - The KeyDown Event in C# .NET
: لمربع النص الخاص KeyDownمن لائمة الخصائص حدد حدث
4 - The Leave Event in C# .NET
فإنه . Leaveحدث مكنن استخدامها لمربعات النص هو هذا الحدث مفد جدا
. مستخدم إلى تركهاالسمح لن للتحمك من صحة مربع النص عندما حاول
ListBox Eventsأحـداث - 5
C# لعمل متصفحن الخاص بلغة – 7
Build your own C# Custom Web Browser
:Web Browser Controlأداة
string WebPage = txtAddress.Text.Trim();
webBrowser1.Navigate(WebPage);
: Button Back كــود
if (webBrowser1.CanGoBack) {
webBrowser1.GoBack();
}
Code for Button Forward:
if (webBrowser1.CanGoForward) {
webBrowser1.GoForward();
}
Code for Button Stop:webBrowser1.Stop( );
Code for Button Home:webBrowser1.GoHome( );
Code for Button Refresh:webBrowser1.Refresh( );
ToolTips in C# .NET إضـافة –8
toolTip1.SetToolTip( btnBack, "Back One Page" );
Manipulating Filesالتعامل مع الملفــات ( 8)
Text File in C# .NET فتح - 1
لراءة ملف سطر سطر - 2
تختبر ما إذا كان هنان حرف معن فى اإلختبار أم ال إذا لم كن هنان Peekالدالة
.1-حرف فإنها تسترجع الممة
#Text File in Cللكتابة لملف -3
#Cلنسخ ملف باستخدام -4
File Class التابعة للفصلةCopy لنسخ ملف مكن أن نستخدم الدالة
System.IO.File.Copy( fileToCopy, newLocation );
#Cلنململف باستخدام -5
لنمل ملف مكن أن نستخدم الدالة Move التابعة للفصلة File Class لمكان جدد
System.IO.File.Move( fileToMove, fileLocation );
#Cلحذف ملف باستخدام -6
لحذف ملف مكن أن نستخدم الدالة Delete التابعة للفصلة File Class لمكان جدد
System.IO.File.Delete( fileToMove, fileLocation );
Debuggingتصحح أخطاء التطبك (9)
1- Errors at Design-Time
Blue Wavy Lines
Red Wavy Lines
Green Wavy Lines
Run-Time Error 2 -
Logic Errors 3 -
Logic errors are ones where you don't get the result you were
expecting.
Breakpoints in c# 4 -
5 -Local window in c#
Windows > Localsاختر من القائمة
تالحظ أن لمة المتغر تتغرF10اضغط على مفتاح
#try …. Catch in C استخدام – 6
ومكن تصد tryتم استخدامها للتعامل مع األخطاء المحتملة بوضع الكود فى
: بالكود التالى Catchاألخطاء باستخدام
try {
} catch {
}
:إذا كنت تعرف الخطأ الناتج مكن استخدام الكود التالى
catch (System.IO.FileNotFoundException) {
MessageBox.Show("File not found");
}
:لمعرفة نوع الخطأ الناتج مكن استخدام الكود التالى
catch (System.Exception excep) {
MessageBox.Show( excep.GetType().ToString() );
}
#Cالتارخ والولت فى لغة (10)
Dates and Times in C#
Add this to you button code:
DateTime theDate;
theDate = DateTime.Now;
MessageBox.Show( theDate.ToString() );
You can also have this, instead of Now:
theDate = DateTime.Today;
And even this
theDate = DateTime.UtcNow;
To use this, then, you can set up a new integer variable and hand it the day:
theDate = DateTime.UtcNow;
int theDay = theDate.Day;
The Month and Year are also Integers, so the code is similar:
int theMonth = theDate.Month;
Or
int theYear = theDate.Year;
DateTime firstDate = new DateTime(2008, 01, 14);
// Convert To Hijri Date Method
public string HijriDate(int Year, int Month, int Day)
{
CultureInfo arSA = CultureInfo.CreateSpecificCulture("ar-SA");
DateTime dt = new DateTime(Year, Month, Day);
//String stringDate = "yyyy-MM-dd";
String stringDate = "dd-MM-yyyy";
string s = dt.ToString(stringDate, arSA);
return s.ToString();
}
برمجة الكائنات الموجهة (11)
Object-Oriented Programming (OOP)
Object – Oriented Programmingبرمجة الكائنات الموجهة
Full OOP لغة البرمجة تكون
:البد وأن تتوافر بهـا األربعة شروط التالة
Encapsulation 1 -
Abstraction 2 -
Inheritance 3 -
Polymorphism 4 -
Encapsulation: الشرطاألول
. ومعناههوتجمعأشاءووضعهاآاملةبمكانما
ومنإسمهاتستطعتمزذلكفمعناهاالكبسولة
:ولتعرفهاجزأن
: الجزءاألول (Class) ونضعفهالمتغراتوالدوااللتلهاعاللةببعضها
هتعرفمكان منثمنسندإلهإسما
هذاالمكانالستطعأحدالدخوإللهإالبصالحاتتحددمنمباللمبرمجفوجد : الجزءالثان
وهوالمسمالعاممسمانرئسانلهاPublicوالPrivateوهوالمسمالخاص
أما Protected تم استخدمه إذا تم التعامل مع فصائل موروثة
Inherited Classes
Abstraction: الشرطالثانى
هى إضافة دالة عامة Method داخل Class الألوم بتحددالتفصالت لها
.إال فى لسم البرنامج الرئسى
فمثال
( Class) أو Modules فجامعةمعنةفنتجمنذلككائنللدكتوروكائن
إلخ وذلن لتوفر الولت والجهد ...نردصنععدةكائناتللطالبوآخرللمدروآخرللعاملو
.عند كتابتن للكود
(Class)الفصلة
هى مجموعة من النصوص البرمجة تموم بوظفة معنة وتموم فكرتها على أنه
مكن إستخدام الكود أكثر من مرة بنفس صغة الكود داخل مشروعن أو مشارع
أى أن نفس الكود مكن إستخدامه أكثر من مرة reusabilityأخرى لتحمك مبدأ
وال حاجة لتكرار كتابته مرة أخرى وتحتوى على خصائص ودوال ومكن إعتبارها
تم من خالله انتاج ماسمى بالهدف Factory أو مصنعTemplateكمالب
Object والذى نستخدمه للوصول والتعامل مع خصائص ودوال الفصلة .
:مثال لذلن
Namespace :نطاق أو مجال الكود
المتطلبة بمجرد إنشاء البرنامج C#Namespacesعرف ببداة أى برنامج بلغة
وستخدم لتحدد أسماء الفصائل التى تم تعرفها بداخله usingعن طرك كلمة
:حتى ال حدث خطأ أثناء إستدعاء الفصلة كالتالى
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace SunSchoolNameSpace
{
class Student
{
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace MicrosoftSchoolNameSpace
{
class Student
{
}
}
: كالتالى Namespaceإلستدعاء الفصلة الخاصة بكل
1- SunSchoolNameSpace. Student 2- MicrosoftSchoolNameSpace. Student
: Class
لتعرف الفصلة أضف ملف جدد لمشروعن عن طرك الضغط بالماوس
Right-Click على اسم المشروع الخاص بن وإضافة New Item وحدد اسم
:كما بالشكل التالى Studentالفصلة ولكن
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace _11ClassesOperations
{
class Stubent
{
}
}
: Object
:تم تعرفه بالصغة التالة
Student stu1 = new Student();
.ومكنه الوصول والتعامل مع خصائص الفصله بعد أن لمنا بتعرفه
:Properties
:تتم تعرفها بالصغة التالة
private int sid;
public int ID
{
set
{
sid = value;
}
get
{
return sid;
}
}
.وذلن للوصول للخصائص عن طرك اسم الهدف
:Constructor
تم من خالله إعطاء لم إبتدائة للمتغرات المستخدمة فى الفصلة وأخذ نفس
:إسم الفصلة وتم تعرفه كالتالى
public Student()
{
sid = 0;
sname = "Name";
smajor = "Major";
}
:كما مكن إعطاء لم للمتغرات أثناء التعرف كالتالى
public Student(int id, string name, string
major)
{
sid = id;
sname = name;
smajor = major;
}
Inheritance: الشرط الثالث
خصائص ودوال الفصلة األب Child Classهو أن ترث الفصلة اإلبن
Parent Class دون أن ترث الفصلة األب شىء من الفصلة اإلبن أى أنهاعاللة
بن فصلتن أحدهما رث خصائص وصفات الفصلة األخرى دون أن رث األول
:منها شىء وصغتها كالتالى
public class ChildClass : ParentClass
{
// classمحتوى ال
}
Polymorphism(Overloading - Overriding) ::الشرط الرابـع
: Overloading
هو تعرف الدوال بنفس اإلسم والنوع ولكن مع إختالف عدد المتغرات التى
.تأخذها الدالة
:مثال
public double Average(int mark1, int mark2)
{
return (mark1 + mark2) / 2;
}
public double Average(int mark1, int mark2, int mark3)
{
return (mark1 + mark2 + mark3) / 3;
}
: Overriding
بال parent class موجود داخل الMethodوهو عبارة عن اعادة تعرف
child class بحث حمل نفس اإلسم والنوع وعدد ونوع المتغرات لكن بكود
المعرف Methodوهذا عن أنه تم استدعاء ال .child class داخل خاص بال
من نوعه، وأضا تم استدعاء object فمط عند تعرف child class داخل ال
فمط عند تعرف parent class الذي حمل نفس اإلسم ف الMethodال
object باإلضافة إلى أنه عند . من نوعه، وكل منهم نفذ الكود الخاص به
لن ظهر parson object أو student object سواء منMethodاستدعاء ال
.class الموجود داخل هذه الMethodلنا إال خار واحد فمط ، وهو ال
:مثال
أى أن هذه الدالة Virtual مسبولة بكلمة Parent Classتم تعرف الدالة فى
وهى نفس الدالة مع overrideولكن بكلمةChild Classحدث لها توارث داخل
.Child Classاختالف محتوى الدالة داخل
: كالتالى Parent Classوصغتها فى
public virtual string search(int id)
{
return "person";
}
: كالتالى Child Classوصغتها فى
public override string search(int id)
{
return "student";
}
برنامج (12)
من فجوال ستودو File -> New -> Projectأنشىء مشروع جدد من لائمة
باسم Windows Forms Applicationواختر نوع المشروع
ClassesOperations العملات على الفصائل
:ضع على الفورم التى تظهر لن األدوات التالة وأعطى لها الخصائص اآلتة
1- Button:
Name: btnProperties
Text:Properties
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
2- Button:
Name: btnConstructor
Text:Constructor
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
3- Button:
Name: btnInheritance
Text:Inheritance
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
4- Button:
Name: btnOverloading
Text:Overloading
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
5- Button:
Name: btnOverride
Text:Override
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
6- Label:
Name: label1
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
7- Label:
Name: label2
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
:أوال أضف إلى مشروعن الفصلتن التالتن
Parent Class الفصلة األب
publicclassPerson { // Properties For Inheritance int pssn; string paddress; publicint SSN { get { return pssn; } set { pssn = value; } }
publicstring Address { get { return paddress; } set { paddress = value; } } // Overriding Method publicvirtualstring search(int id) { return"person"; } }
Child Classالفصلة اإلبن
publicclassStudent:Person { privateint sid; privatestring sname; privatestring smajor; // Properties publicint ID { set { sid = value; } get { return sid; } } publicstring Name { set { sname = value; } get
{ return sname; } } publicstring Major { set { smajor = value; } get { return smajor; } } // Constructors public Student() { sid = 20; sname = "Ali"; smajor = "Pharmacy"; } public Student(int id, string name, string major) { sid = id; sname = name; smajor = major; } // Overloading publicdouble Average(int mark1, int mark2) { return (mark1 + mark2) / 2; } publicdouble Average(int mark1, int mark2, int mark3) { return (mark1 + mark2 + mark3) / 3;
} // Overriding Method publicoverridestring search(int id) { return"Student"; } }
بالضغط مرتن بالماوس على Button Double نشىء لنا
btnProperties_Click () الحدث
:لم بكتابة الكود التالى بداخله كالتالى
privatevoid btnProperties_Click(object sender, EventArgs e) { label2.Text = String.Empty; Student std1 = newStudent(); Properties للتعاملمعالخصائص// std1.ID = 111; std1.Name = "Mohamed"; std1.Major = "Computer Science";
label1.Text = "ID=" + std1.ID.ToString() + "\n" + "Name=" + std1.Name.ToString() + "\n" + "Major=" + std1.Major.ToString();
}
بالضغط مرتن بالماوس على Button Double نشىء لنا
btnConstructor _Click () الحدث
:لم بكتابة الكود التالى بداخله كالتالى
privatevoid btnConstructor_Click(object sender, EventArgs e) { Constructor للتعاملمع // Student std2 = newStudent(); Student std3 = newStudent(10, "Ahmed", "Engineering"); label1.Text = "ID=" + std2.ID.ToString() + "\n" + "Name=" + std2.Name.ToString() + "\n" + "Major=" + std2.Major.ToString(); label2.Text = "ID=" + std3.ID.ToString() + "\n" + "Name=" + std3.Name.ToString() + "\n" + "Major=" + std3.Major.ToString(); }
بالضغط مرتن بالماوس على Button Double نشىء لنا
btnInheritance _Click () الحدث
:لم بكتابة الكود التالى بداخله كالتالى
privatevoid btnInheritance_Click(object sender, EventArgs e) { Person per1 = newPerson(); per1.SSN = 100; per1.Address = "Cairo"; label1.Text = "SSN=" + per1.SSN.ToString() + "\n" + "Address=" + per1.Address.ToString(); Student std1 = newStudent(); std1.SSN = per1.SSN; std1.Address = per1.Address; label2.Text = "ID=" + std1.ID.ToString() + "\n" + "Name=" + std1.Name.ToString() + "\n" + "Major=" + std1.Major.ToString() + "\n" + "SSN=" + std1.SSN.ToString() + "\n" + "Address=" + std1.Address.ToString() + "\n";
}
بالضغط مرتن بالماوس على Button Double نشىء لنا
btnOverloading_Click () الحدث
:لم بكتابة الكود التالى بداخله كالتالى
privatevoid btnOverloading_Click(object sender, EventArgs e) { Method Overloading للتعاملمع // Student std4 = newStudent(); double Avg1 = std4.Average(20, 20); double Avg2 = std4.Average(30, 30 ,30); label1.Text = "Average1=" + Avg1.ToString(); label2.Text = "Average2=" + Avg2.ToString(); }
بالضغط مرتن بالماوس على Button Double نشىء لنا
btnOverride _Click () الحدث
:لم بكتابة الكود التالى بداخله كالتالى
privatevoid btnOverride_Click(object sender, EventArgs e) { Student std1 = newStudent(); string std1String = std1.search(10); label1.Text = "Child Search =" + std1String; Person per1 = newPerson(); string per1String = per1.search(10); label2.Text = "Parent Search =" + per1String; }
برمجة تطبمات الوندوز (12)
Visual البد من التعامل مع بئة التطور #Cلبرمجة تطبمات الوندوز بلغة
Studio باستخدام األدوات Controls الالزمة لصنع برنامجن أو مشروعن الذى
تموم ببرمجته لذا فتم هنا إستخدام األدوات الهامة لكل مبرمج تطلع إلى
اإلحترافة فى برمجة الواجهات من خالل برامج تفصلة لكل أداة أو عدة أدوات
.كما تتطلبه البرامج
:Controlsاألدوات
Buttonأداة الزر -1
وهى أداة موم بتنفذ حدث معن أثناء الضغط علها بالماوس أو تمرر
Click – DoubleClickالماوس علها وهى ترتبط بأحداث الماوس مثل
وغرها من األحداث التى تم تنشطها عند الضغط على الزر أو استخدام أى
وغرها من الخواص Visible و Textحدث له ولها خواص مثل خاصة
.Visual Studio فى Propertiesوالتى مكنن التعرف علها من لائمة
( :13)برنامج
من فجوال ستودو File -> New -> Projectأنشىء مشروع جدد من لائمة
باسمWindows Forms Applicationواختر نوع المشروع
PrintMessage
:ضع على الفورم التى تظهر لن األدوات التالة وأعطى لها الخصائص اآلتة
1- Button:
Name: btnMessage
Text:Properties
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
بالضغط مرتن بالماوس على Button Double نشىء لنا
btnMessage_Click () الحدث
:لم بكتابة الكود التالى بداخله كالتالى
privatevoid btnMessage_Click(object sender, EventArgs e) { lblMessage.Text = " C# مشحبابكمفىتعليــمتطبيقاتالىيىذوصبلغت "; }
( :14)برنامج
من فجوال ستودو File -> New -> Projectأنشىء مشروع جدد من لائمة
باسمWindows Forms Applicationواختر نوع المشروع
ButtonProperties
:ضع على الفورم التى تظهر لن األدوات التالة وأعطى لها الخصائص اآلتة
1- Button:
Name: btnChangeColor
Text:تغرلونخلفةالشاشة
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
2- Button:
Name: btnFont
Text:Change Form Font
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
3- Button:
Name: btnMessage
Text:إظهاررسالة
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
4- Button:
Name: btnExit
Text:خـروج
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
بالضغط مرتن بالماوس على Button Double نشىء لنا
btnChangeColor_Click () الحدث
:لم بكتابة الكود التالى بداخله كالتالى
privatevoid btnChangeColor_Click(object sender, EventArgs e) { BackColor = Color.Green; }
بالضغط مرتن بالماوس على Button Double نشىء لنا
btnFont_Click () الحدث
:لم بكتابة الكود التالى بداخله كالتالى
privatevoid btnFont_Click(object sender, EventArgs e) { this.Font = newFont("CASTELLAR", 16); }
بالضغط مرتن بالماوس على Button Double نشىء لنا
btnMessage_Click () الحدث
:لم بكتابة الكود التالى بداخله كالتالى
privatevoid btnMessage_Click(object sender, EventArgs e) { MessageBox.Show("مشحبـــابكــم "); }
بالضغط مرتن بالماوس على Button Double نشىء لنا
btnExit_Click () الحدث
:لم بكتابة الكود التالى بداخله كالتالى
privatevoid btnExit_Click(object sender, EventArgs e) { Close(); }
TextBoxصندوق النص -2
وهى عبارة عن أداة إلدخال النصوص والتى تم من خاللها لراءة النص الذى
وغرها من الخواص والتى TextAlign وTextدخله المستخدم من الخاصة
.Visual Studio فى Propertiesمكنن التعرف علها من لائمة
( :15)برنامج
من فجوال ستودو File -> New -> Projectأنشىء مشروع جدد من لائمة
TextBox باسمWindows Forms Applicationواختر نوع المشروع
:ضع على الفورم التى تظهر لن األدوات التالة وأعطى لها الخصائص اآلتة
1- Button:
Name: btnChangeColor
Text:طباعةمحتواتصندولالنص
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
2- TextBox:
Name: txtMessage
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
RightToLeft: Yes
بالضغط مرتن بالماوس على Button Double نشىء لنا
btnMessage_Click () الحدث
:لم بكتابة الكود التالى بداخله كالتالى
privatevoid btnPrintMessage_Click(object sender, EventArgs e) { lblMessage.Text = txtMessage.Text; }
RichTextBoxصندوق النص المتعدد -3
وهى عبارة عن أداة إلدخال النصوص والتى تم من خاللها لراءة النص الذى
إال أنها تحتوى على خصائص غر TextBoxدخله المستخدم وهى مثل أداة
كونها تحتوى على نص متعدد األلوان والخطوط TextBoxموجودة فى أداة
غرها من الخواص TextAlign وTextواألحجام ولها بعض الخواص مثل
.Visual Studio فى Propertiesوالتى مكنن التعرف علها من لائمة
( :16)برنامج
من فجوال ستودو File -> New -> Projectأنشىء مشروع جدد من لائمة
RichTextBox باسمWindows Forms Applicationواختر نوع المشروع
: ضع على الفورم التى تظهر لن األدوات التالة وأعطى لها الخصائص اآلتة
1- Button:
Name: btnRed
Text:لونالخطأحمر
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
2- Button:
Name: btnGreen
Text:لونالخطأخضر
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
3- Button:
Name: btnBlue
Text:لونالخطأزرق
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
4- Label:
Name: txtMessage
Text : أكتبالنصالذىتردههنا
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
5- TextBox:
Name: textbox1
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
RightToLeft: Yes
6- RichTextBox:
Name: richTextBox1
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
RightToLeft: Yes
بالضغط مرتن بالماوس على Button btnRed نشىء لنا
btnRed_Click () الحدث
:لم بكتابة الكود التالى بداخله كالتالى
privatevoid btnRed_Click(object sender, EventArgs e) { richTextBox1.SelectionFont = newFont("Timew New Roman", 40, FontStyle.Bold); richTextBox1.SelectionColor = Color.Red; }
بالضغط مرتن بالماوس على Button btnGreen نشىء لنا
btnGreen_Click () الحدث
:لم بكتابة الكود التالى بداخله كالتالى
privatevoid btnGreen_Click(object sender, EventArgs e) { richTextBox1.SelectionFont = newFont("Timew New Roman", 40, FontStyle.Bold); richTextBox1.SelectionColor = Color.Green; }
بالضغط مرتن بالماوس على Button btnBlue نشىء لنا
btnBlue_Click () الحدث
:لم بكتابة الكود التالى بداخله كالتالى
privatevoid btnBlue_Click(object sender, EventArgs e) { richTextBox1.SelectionFont = newFont("Timew New Roman", 40, FontStyle.Bold); richTextBox1.SelectionColor = Color.Blue; }
بالضغط مرتن بالماوس على TextBox textbox1 نشىء لنا
txtMessage_TextChanged()الحدث
:لم بكتابة الكود التالى بداخله كالتالى
privatevoid txtMessage_TextChanged(object sender, EventArgs e) { this.richTextBox1.Text = this.textbox1.Text; }
Label , LinkLabelأدوات إظهار النص -4
وهى عبارة عنأداة تلعب دور مثل الملصك على األجهزة الكهربائة أو األدوات
فهى LinkLabel أما األداة األخرى Labelالمنزلة فى إظهار النص وهى أداة
نفس األداة األولى ولكن تزد علها كونها عبارة عن رابط انترنت ولهما
غرها من الخواص والتى مكنن TextAlign وTextبعض الخواص مثل
.Visual Studio فى Propertiesالتعرف علها من لائمة
( :17)برنامج
من فجوال ستودو File -> New -> Projectأنشىء مشروع جدد من لائمة
باسم Windows Forms Applicationواختر نوع المشروع
LabelAndLinkLabel
: ضع على الفورم التى تظهر لن األدوات التالة وأعطى لها الخصائص اآلتة
1- Label:
Name: txtMessage
Text : This is a Label
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
2- LinkLabel:
Name: txtMessage
Text : This is a Link Label
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
بالضغط مرتن بالماوس على LinkLabel linkLabel1 نشىء لنا
linkLabel1_LinkClicked () الحدث
:لم بكتابة الكود التالى بداخله كالتالى
privatevoid linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { System.Diagnostics.Process.Start("www.google.com"); }
CheckBoxصندوق اإلختار -5
وهى عبارة عنأداة تسمح للمستخدم باإلختار من متعدد وتتعامل مع الخصائص
و غرها من الخواص والتى مكنن التعرف Checked – Enabled: التالة
.Visual Studio فى Propertiesعلها من لائمة
( :18)برنامج
من فجوال ستودو File -> New -> Projectأنشىء مشروع جدد من لائمة
باسم Windows Forms Applicationواختر نوع المشروع
CheckBox
: ضع على الفورم التى تظهر لن األدوات التالة وأعطى لها الخصائص اآلتة
1- Button:
Name: btnBlue
Text:لمدلمتباختار
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
2- Label:
Name: txtMessage
Text : ماهىلغةالبرمجةالمفضلةلدن ?
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
3- CheckBox:
Name: cb_cs
Text:CSharp.Net
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
4- CheckBox:
Name: cb_vb
Text:Visual Basic.Net
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
بالضغط مرتن بالماوس على Button button1 نشىء لنا
button1_Click () الحدث
:لم بكتابة الكود التالى بداخله كالتالى
privatevoid button1_Click(object sender, EventArgs e) { if (cb_vb.Checked == true&& cb_cs.Checked == false) { MessageBox.Show("Your Favourite language is : Visual Basic.net"); } elseif (cb_vb.Checked == false&& cb_cs.Checked == true) { MessageBox.Show("Your Favourite language is : CSharp.net"); } elseif (cb_vb.Checked == false&& cb_cs.Checked == false) { MessageBox.Show("Please Choose Your language !"); } else { MessageBox.Show("Your Favourite language is : Visual Basic.net and CSharp.Net"); } }
RadioButtonزر اإلختار -6
تمربا فى الخواص إال أنها ال CheckBoxوهى عبارة عنأداة تشترن مع أداة
: تتح للمستخدم إمكانة تعدد اإلختارات وتتعامل مع الخصائص التالة
Checked – Enabled و غرها من الخواص والتى مكنن التعرف علها من
.Visual Studio فى Propertiesلائمة
( :19)برنامج
من فجوال ستودو File -> New -> Projectأنشىء مشروع جدد من لائمة
باسم Windows Forms Applicationواختر نوع المشروع
RadioButton
:ضع على الفورم التى تظهر لن األدوات التالة وأعطى لها الخصائص اآلتة
1- Label:
Name: label1
Text:اختارالنوع
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
2- Button:
Name: button1
Text:اختاركهو
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
3- RadioButton:
Name: radioButton1
Text:ذكر
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
4- RadioButton:
Name: radioButton2
Text: أنثى
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
بالضغط مرتن بالماوس على Button button1 نشىء لنا
button1_Click () الحدث
:لم بكتابة الكود التالى بداخله كالتالى
privatevoid button1_Click(object sender, EventArgs e) { if (radioButton1.Checked == true) { MessageBox.Show("ركــش "); } else { MessageBox.Show("أوثــى "); } }
ListBoxعلبة المائمة -7
تموم هذه األداة بعرض البانات على شكل لائمة مكن للمستخدم من خاللها أن
ختار ماشاء ومكن تعبئتها دوا بأى عناصر كما تشاء من الخاصة
Items وغرها من الخواص والتى مكنن التعرف علها من لائمة
Properties فى Visual Studio.
( :20)برنامج
من فجوال ستودو File -> New -> Projectأنشىء مشروع جدد من لائمة
باسم Windows Forms Applicationواختر نوع المشروع
ListBox1
:ضع على الفورم التى تظهر لن األدوات التالة وأعطى لها الخصائص اآلتة
1- Label:
Name: label1
Text:لائمـةهوااتكالمفضلة
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
2- ListBox:
Name: listBox1
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
Right-To-Left: Yes
بالضغط مرتن بالماوس على الفورم Form1 نشىء لنا
Form1_Load () الحدث
:لم بكتابة الكود التالى بداخله كالتالى
privatevoid Form1_Load(object sender, EventArgs e) { this.listBox1.Items.Add("قشاءةالقصصالذيىيت"); this.listBox1.Items.Add("السباحت"); this.listBox1.Items.Add("سكىبالخيل"); }
( :21)برنامج
من فجوال ستودو File -> New -> Projectأنشىء مشروع جدد من لائمة
باسم Windows Forms Applicationواختر نوع المشروع
ListBox2
:ضع على الفورم التى تظهر لن األدوات التالة وأعطى لها الخصائص اآلتة
1- Button:
Name: button1
Text:أضفإلىالمائمة
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
2- Button:
Name: button2
Text:احذفالعنصرالذىتمومباختاره
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
3- Button:
Name: button3
Text:حذفجمعالعناصر
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
4- Label:
Name: label1
Text: أكتباسمكهنـا :
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
Right-To-Left: Yes
5- TextBox:
Name: textBox1
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
Right-To-Left: Yes
6- ListBox:
Name: listBox1
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
Right-To-Left: Yes
بالضغط مرتن بالماوس على الفورم Button button1 نشىء لنا
button1_Click () الحدث
:لم بكتابة الكود التالى بداخله كالتالى
privatevoid button1_Click(object sender, EventArgs e) { this.listBox1.Items.Add(textBox1.Text); this.textBox1.Text = String.Empty; }
بالضغط مرتن بالماوس على الفورم Button button2 نشىء لنا
Button2_Click () الحدث
:لم بكتابة الكود التالى بداخله كالتالى
privatevoid button2_Click(object sender, EventArgs e) { this.listBox1.Items.Remove(listBox1.SelectedItem); //this.listBox1.Items.RemoveAt(listBox1.SelectedIndex); }
بالضغط مرتن بالماوس على الفورم Button button3 نشىء لنا
Button3_Click () الحدث
:لم بكتابة الكود التالى بداخله كالتالى
privatevoid button3_Click(object sender, EventArgs e) { this.listBox1.Items.Clear(); }
ComboBoxصندوق الكومبو -8
هذه األداة تستعمل لتمكن المستخدم من اختار بعض البانات مثال عند التسجل
بمولع مث الاهو طلب منن اختار الدولة التى تنتمى إلها وخصائصها وأحداثها
ومكن تعبئتها دوا بأى عناصر كما تشاء من ListBoxشبهة بصندوق الموائم
وغرها من الخواص والتى مكنن التعرف علها من لائمة Itemsالخاصة
Properties فى Visual Studio.
( :22)برنامج
من فجوال ستودو File -> New -> Projectأنشىء مشروع جدد من لائمة
باسم Windows Forms Applicationواختر نوع المشروع
ComboBox
:ضع على الفورم التى تظهر لن األدوات التالة وأعطى لها الخصائص اآلتة
1- ComboBox:
Name: comboBox1
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
بالضغط مرتن بالماوس على الفورم Form1 نشىء لنا
Form1_Load () الحدث
:لم بكتابة الكود التالى بداخله كالتالى
privatevoid Form1_Load(object sender, EventArgs e) { string[] Countries = { "ليبيا" ,"تىوس" ,"العشاق" ,"الجضائش" ,"السعىديت" ,"مصش" }; this.comboBox1.Items.AddRange(Countries); }
بالضغط مرتن بالماوس على ComboBox comboBox1 نشىء لنا
comboBox1_SelectedIndexChanged () الحدث
:لم بكتابة الكود التالى بداخله كالتالى
privatevoid comboBox1_SelectedIndexChanged(object sender, EventArgs e) { MessageBox.Show(" لقذاختشتذولت :" + comboBox1.Text); }
TreeViewالمائمة الشجرة -9
سبك وأن شاهدت هذه األداة مع متصفح الوندوز
وهى أداة تموم بإظهار البانات تنازلا على شكل بانات شجرة متشعبة من األصل
والمجلدات Drivesإلى الفروع وتستعمل غالبا فى تصفح وحدات الحاسوب
Folders والملفات Filesولها العدد من الخواص مثلNodes و Right-To-
Left وغرها من الخواص والتى مكنن التعرف علها من لائمة Properties
.Visual Studioفى
( :23)برنامج
من فجوال ستودو File -> New -> Projectأنشىء مشروع جدد من لائمة
باسم Windows Forms Applicationواختر نوع المشروع
TreeView1
:ضع على الفورم التى تظهر لن األدوات التالة وأعطى لها الخصائص اآلتة
1- TreeView:
Name: treeView1
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
: كالتالى Nodesأضف عناصر للمائمة الشجرة من الخاصة
( :24)برنامج
من فجوال ستودو File -> New -> Projectأنشىء مشروع جدد من لائمة
باسم Windows Forms Applicationواختر نوع المشروع
TreeView2
:ضع على الفورم التى تظهر لن األدوات التالة وأعطى لها الخصائص اآلتة
1- Label:
Name: label1
Text:انمربالماوسمرتنإلختارالعنصرمنالشجرة
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
2- ImageList:
Name: imageList1
Images: (Inside Image Collection Editor put Image called Folder.jpg)
3- TreeView:
Name: treeView1
ImageList: imageList1
ImageIndex: 0
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
Right-To-Left: Yes
Right-To-Left-Layout: True
SelectedImageIndex: 0
بالضغط مرتن بالماوس على الفورم Form1 نشىء لنا
Form1_Load () الحدث
:لم بكتابة الكود التالى بداخله كالتالى
privatevoid Form1_Load(object sender, EventArgs e) { TreeNode tNode; tNode = treeView1.Nodes.Add("Websites"); treeView1.Nodes[0].Nodes.Add("Net-informations.com"); treeView1.Nodes[0].Nodes[0].Nodes.Add("CLR"); treeView1.Nodes[0].Nodes.Add("Vb.net-informations.com"); treeView1.Nodes[0].Nodes[1].Nodes.Add("String Tutorial"); treeView1.Nodes[0].Nodes[1].Nodes.Add("Excel Tutorial"); treeView1.Nodes[0].Nodes.Add("Csharp.net-informations.com"); treeView1.Nodes[0].Nodes[2].Nodes.Add("ADO.NET"); treeView1.Nodes[0].Nodes[2].Nodes[0].Nodes.Add("Dataset"); }
بالضغط مرتن بالماوس على TreeView treeView1 نشىء لنا
treeView1_MouseDoubleClick() الحدث
:لم بكتابة الكود التالى بداخله كالتالى
privatevoid treeView1_MouseDoubleClick(object sender, MouseEventArgs e) { TreeNode Node = treeView1.SelectedNode; MessageBox.Show(string.Format("{0} :لقذاختشث", Node.Text)); }
ListViewلائمة العرض -10
إال أنها أفضل منها حث أنها ListBoxهذه األداة شبهة بصندوق الموائم
تستطع عرض البانات بطرمة منسمة وجذابة كما تستطع عرض الصور كما فى
.متصفح الوندوز كما فى متصفح الوندوز مصمم بهذه األداة
( :25)برنامج
من فجوال ستودو File -> New -> Projectأنشىء مشروع جدد من لائمة
باسم Windows Forms Applicationواختر نوع المشروع
ListView1
:ضع على الفورم التى تظهر لن األدوات التالة وأعطى لها الخصائص اآلتة
1- Label:
Name: label1
Text: استعراضالمجلدات
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
2- ComboBox:
Name: comboBox1
DropDownStyle: DropDownList
Items:
(Collection)
(LargeIcon
Details
SmallIcon
List
Title)
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
3- ImageList:
Name: imageList1
Images: (Inside Image Collection Editor put Image called Folder.jpg)
4- ListView:
Name: listView1
LargeImageList: imageList1
SmallImageList: imageList1
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
إلظهار أسماء وتفاصل Form1() Constructorبكتابة هذا الكود داخل
ListViewالمجلدات داخل
public Form1() { InitializeComponent(); listView1.Columns.Add("اإلسـم"); listView1.Columns.Add("التفاصيل"); listView1.Items.Add("0 ,"1 المجلذ); listView1.Items.Add("0 ,"2 المجلذ); listView1.Items.Add("0 ,"3 المجلذ); listView1.Items.Add("0 ,"4 المجلذ); listView1.Items.Add("0 ,"5 المجلذ); }
بالضغط مرتن بالماوس على ComboBoxcomboBox1نشىء لنا
comboBox1_SelectedIndexChanged() الحدث
:لم بكتابة الكود التالى بداخله كالتالى
privatevoid comboBox1_SelectedIndexChanged(object sender, EventArgs e) { if (comboBox1.Text == "LargeIcon") { listView1.View = View.LargeIcon; } elseif (comboBox1.Text == "Details") { listView1.View = View.Details; } elseif (comboBox1.Text == "SmallIcon") { listView1.View = View.SmallIcon; } elseif (comboBox1.Text == "List") { listView1.View = View.List; } else { listView1.View = View.Tile; } }
( :26)برنامج
من فجوال ستودو File -> New -> Projectأنشىء مشروع جدد من لائمة
باسم Windows Forms Applicationواختر نوع المشروع
ListView2
:ضع على الفورم التى تظهر لن األدوات التالة وأعطى لها الخصائص اآلتة
1- ImageList:
Name: imageList1
Images: (Inside Image Collection Editor put Images called
Drive.png,Folder.png, File.png)
2- ListView:
Name: lvDrives
LargeImageList: imageList1
SmallImageList: imageList1
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
3- ListView:
Name: lvFiles
LargeImageList: imageList1
SmallImageList: imageList1
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
4- TreeView:
Name: tvFolders
ImageIndex: 0
ImageList: imageList1
SelectedImageIndex: 0
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
و المجلدات Drivesلم بكتابة أكواد الدوال التالة للتعامل مع وحدات الحاسوب
Folders والملفات Files كالتالى :
string strDrive; // First Method void getDrives() { try { foreach (string drive inDirectory.GetLogicalDrives()) { this.lvDrives.Items.Add(drive, 0); } } catch (Exception ex) { ex.Message.ToString(); lblError.Text = "لميتمالىصىإللىىحذاتالحاسب"; } } // Second Method void getFolders() { try { strDrive = lvDrives.FocusedItem.Text; DirectoryInfo Dir = newDirectoryInfo(strDrive); tvFolders.Nodes.Clear(); foreach (DirectoryInfo Folder in Dir.GetDirectories()) { tvFolders.Nodes.Add("", Folder.Name, 1, 1); } } catch (Exception ex) { ex.Message.ToString(); lblError.Text = "لميتمالىصىإللىمجلذاتالحاسب"; } } // Third Method void getFiles(string strPath) { try {
ListViewItem lvi; DirectoryInfo Dir = newDirectoryInfo(strDrive + strPath); lvFiles.Items.Clear(); foreach (FileInfo file in Dir.GetFiles()) { lvi = lvFiles.Items.Add(file.Name, 2); lvi.SubItems.Add(file.Length.ToString()); lvi.SubItems.Add(file.LastAccessTime.ToString()); lvi.SubItems.Add(file.Extension); } } catch (Exception ex) { ex.Message.ToString(); lblError.Text = "لميتمالىصىإللىالملف"; } }
: كالتالى Form1() Constructor داخل ()getDrivesلم بإستدعاء الدالة
public Form1)( { InitializeComponent)(; getDrives;)( }
TreeView tvFoldersالخاص باألداة AfterSelect باختار الحدث
:لم بكتابة الكود التالى بداخله كالتالى
privatevoid tvFolders_AfterSelect(object sender, TreeViewEventArgs e) { try { getFiles(e.Node.FullPath); TreeNode node; DirectoryInfo Dir = newDirectoryInfo(strDrive + e.Node.FullPath); foreach (DirectoryInfo folder in Dir.GetDirectories()) { node = newTreeNode(folder.Name, 1, 1); e.Node.Nodes.Add(node); } } catch (Exception ex) {
ex.Message.ToString(); lblError.Text = "لميتمالىصىإللىمجلذاتالحاسب"; } }
MenuStripأداة المائمة الرئسة -11
:تعد هذه األداة من من أهم األدوات التى حفل بها معظم البرامج وهذه صورة لها
إلى الفورم جرب MenuStrip لم بجذب أداة المائمة ToolBoxمن علبة األدوات
أن تضف بعض الموائم الرئسة وبعض الموائم الفرعة لها
إذا مررت بالمؤشر فوق مكان كتابة اسم المائمة سظهرلن سهم صغر موجه نحو
:األسفل كما تظهر الصورة التالة
:إذا لمت بالضغط عله ستظهر لن اإلختارات التالة
( :27)برنامج
من فجوال ستودو File -> New -> Projectأنشىء مشروع جدد من لائمة
باسم Windows Forms Applicationواختر نوع المشروع
MenuStrip
:ضع على الفورم التى تظهر لن األدوات التالة وأعطى لها الخصائص اآلتة
1- MenuStrip:
Name: menuStrip1
Text : menuStrip1
2- fileToolStripMenuItem:
Name: fileToolStripMenuItem
Text: &File
3-openToolStripMenuItem
Name: openToolStripMenuItem
Text: Open File
4-showFormToolStripMenuItem
Name: showFormToolStripMenuItem
Text: Show Form
بالضغط مرتن بالماوسعلىزر
Button showFormToolStripMenuItem
نشىء لنا الحدث
showFormToolStripMenuItem_Click()
:لم بكتابة الكود التالى بداخله كالتالى
privatevoid showFormToolStripMenuItem_Click(object sender, EventArgs e) { Form2 frm = newForm2(); frm.Show(); }
تم مناداتها من خالل الزر الموجود بالفورمة السابمة Form2إنشاء فورم أخرى
ContextMenuStripأداة المائمة المنسدلة -12
طبعا سبك لن وأن رأت المائمة المنسدلة بالضغط على من الماوس
:كالتالى
( :28)برنامج
من فجوال ستودو File -> New -> Projectأنشىء مشروع جدد من لائمة
باسم Windows Forms Applicationواختر نوع المشروع
ContextMenuStrip
:ضع على الفورم التى تظهر لن األدوات التالة وأعطى لها الخصائص اآلتة
1- ContextMenuStrip:
Name: contextMenuStrip1
Items: Collection
:عند التصمم تظهر الفورم فى التصمم بالشكل التالى
2-Form1
ContextMenuStrip: contextMenuStrip1
Name: Form1
Text: Form1
:عند تشغل البرنامج تظهر الفورم بالشكل التالى
ToolStripأداة شرط األدوات -13
غالبا ما كون الغرض من هذه األداة هو عرض محتوى الموائم الفرعة بالصور
.وبشكل واضح جعل المستخدم أكثر ارتاحا وهذه صورة األداة
( :29)برنامج
من فجوال ستودو File -> New -> Projectأنشىء مشروع جدد من لائمة
باسم Windows Forms Applicationواختر نوع المشروع
ToolStrip
:ضع على الفورم التى تظهر لن األدوات التالة وأعطى لها الخصائص اآلتة
1- ToolStrip
Name: toolStrip1
Items: Collection
LayoutStyle: HorizontalStackWithOverflow
Text: toolStrip1
1- Label:
Name: label1
Text:
Font Name: Times New Roman, 14pt, style=Bold
Size: 14
Bold: True
ToolStriptoolStripTextBox1نشىء لنا علىبالضغط مرتن بالماوس
toolStripTextBox1_TextChanged () الحدث
:لم بكتابة الكود التالى بداخله كالتالى
privatevoid toolStripTextBox1_TextChanged(object sender, EventArgs e) { this.label1.Text = toolStripTextBox1.Text; }
مشـارع للتعامل مع لواعد البانات (13)
(اإلصدار الثان من الكتاب )
وآخــر دعــوانــا
(أن الحمــد هلل رب العالمـــن)