تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
الدرس 16- تصميم الأدوات الخاصة
#1
كاتب الموضوع : Tarek Aldwire

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

في درسنا اليوم سوف نتعلم كيفية تصميم الأدوات الخاصة بك كتصميم Button على شكل دائري مثلا ! أو تصميم ScrollBar خاص بك...

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


- بداية في تصميم الأدوات الخاصة..

قم بإنشاء مشروع جديد من نوع Windows Forms Control Library...
واكتب فيه كالتالي:

كود :
[COLOR=#000000][COLOR=#0000bb]
using System[/COLOR][COLOR=#007700];
[/COLOR][color=#0000bb]using System[/color][color=#007700].[/color][color=#0000bb]Collections[/color][color=#007700].[/color][color=#0000bb]Generic[/color][COLOR=#007700];
[/COLOR][color=#0000bb]using System[/color][color=#007700].[/color][color=#0000bb]ComponentModel[/color][COLOR=#007700];
[/COLOR][color=#0000bb]using System[/color][color=#007700].[/color][color=#0000bb]Drawing[/color][COLOR=#007700];
[/COLOR][color=#0000bb]using System[/color][color=#007700].[/color][color=#0000bb]Data[/color][COLOR=#007700];
[/COLOR][color=#0000bb]using System[/color][color=#007700].[/color][color=#0000bb]Linq[/color][COLOR=#007700];
[/COLOR][color=#0000bb]using System[/color][color=#007700].[/color][color=#0000bb]Text[/color][COLOR=#007700];
[/COLOR][color=#0000bb]using System[/color][color=#007700].[/color][color=#0000bb]Windows[/color][color=#007700].[/color][color=#0000bb]Forms[/color][COLOR=#007700];
[/COLOR][COLOR=#0000bb]namespace WindowsFormsControlLibrary
[/COLOR][COLOR=#007700]{
public [/COLOR][color=#0000bb]partial [/color][color=#007700]class [/color][color=#0000bb]UserControl1 [/color][color=#007700]: [/color][COLOR=#0000bb]UserControl
[/COLOR][COLOR=#007700]{
public [/COLOR][color=#0000bb]UserControl1[/color][COLOR=#007700]()
{
[/COLOR][color=#0000bb]InitializeComponent[/color][COLOR=#007700]();
[/COLOR][color=#0000bb]this[/color][color=#007700].[/color][color=#0000bb]Paint [/color][color=#007700]+= new [/color][color=#0000bb]PaintEventHandler[/color][color=#007700]([/color][color=#0000bb]UserControl1_Paint[/color][COLOR=#007700]);
}
[/COLOR][color=#0000bb]void UserControl1_Paint[/color][color=#007700]([/color][color=#0000bb]object sender[/color][color=#007700], [/color][color=#0000bb]PaintEventArgs e[/color][COLOR=#007700])
{
[/COLOR][color=#0000bb]Graphics myg [/color][color=#007700]= [/color][color=#0000bb]e[/color][color=#007700].[/color][color=#0000bb]Graphics[/color][COLOR=#007700];
[/COLOR][color=#0000bb]myg[/color][color=#007700].[/color][color=#0000bb]DrawRectangle[/color][color=#007700](new [/color][color=#0000bb]Pen[/color][color=#007700]([/color][color=#0000bb]Brushes[/color][color=#007700].[/color][color=#0000bb]Red[/color][color=#007700]), new [/color][color=#0000bb]Rectangle[/color][color=#007700]([/color][color=#0000bb]0[/color][color=#007700], [/color][color=#0000bb]0[/color][color=#007700], [/color][color=#0000bb]this[/color][color=#007700].[/color][color=#0000bb]Width[/color][color=#007700]-[/color][color=#0000bb]5[/color][color=#007700], [/color][color=#0000bb]this[/color][color=#007700].[/color][color=#0000bb]Height [/color][color=#007700]- [/color][color=#0000bb]5[/color][COLOR=#007700]));
}
}
}  
[/COLOR][color=#0000bb][/color][/COLOR]

ثم قم بحفظ المشروع في مكان ما ثم سوي له Build ...

والان قم بفتح مشروع جديد من نوع Windows Forms Application وضع فيه Button ومن قائمة ال ToolBox إضغط عليها ضغطة يمينية ثم إختر choose items أو إضغط ctrl +t ثم في tap ال .NET إضغط على Browser ثم إختر المشروع السابق وادخل إلى الملف الذي سوف يكون إمتداده .dll ثم إنقر عليه ...

والان سوف تلاحظ أن هناك Control جديد إضيف في ال toolbox ضعه على الفورم وشاهد..

ما هو الكونترول؟؟ هو عبارة عن مستطيل يكبر ويصغر بحسب ما تعطيه أنت الحجم...

مبروك !! أول Control لك أصبح جاهزا...

والان لنقوم بعمل Control أصعب من هذا بقليل...

إنشئ مشروع Windows Forms Control Library ثم ضع على فورمه أداة PictureBox ثم أكتب ما يلي:


كود :
[COLOR=#000000][COLOR=#0000bb]
using System[/COLOR][COLOR=#007700];
[/COLOR][color=#0000bb]using System[/color][color=#007700].[/color][color=#0000bb]Collections[/color][color=#007700].[/color][color=#0000bb]Generic[/color][COLOR=#007700];
[/COLOR][color=#0000bb]using System[/color][color=#007700].[/color][color=#0000bb]ComponentModel[/color][COLOR=#007700];
[/COLOR][color=#0000bb]using System[/color][color=#007700].[/color][color=#0000bb]Drawing[/color][COLOR=#007700];
[/COLOR][color=#0000bb]using System[/color][color=#007700].[/color][color=#0000bb]Data[/color][COLOR=#007700];
[/COLOR][color=#0000bb]using System[/color][color=#007700].[/color][color=#0000bb]Linq[/color][COLOR=#007700];
[/COLOR][color=#0000bb]using System[/color][color=#007700].[/color][color=#0000bb]Text[/color][COLOR=#007700];
[/COLOR][color=#0000bb]using System[/color][color=#007700].[/color][color=#0000bb]Windows[/color][color=#007700].[/color][color=#0000bb]Forms[/color][COLOR=#007700];
[/COLOR][COLOR=#0000bb]namespace WindowsFormsControlLibrary
[/COLOR][COLOR=#007700]{
public [/COLOR][color=#0000bb]partial [/color][color=#007700]class [/color][color=#0000bb]UserControl1 [/color][color=#007700]: [/color][COLOR=#0000bb]UserControl
[/COLOR][COLOR=#007700]{
public [/COLOR][color=#0000bb]UserControl1[/color][COLOR=#007700]()
{
[/COLOR][color=#0000bb]InitializeComponent[/color][COLOR=#007700]();
}
public [/COLOR][COLOR=#0000bb]Image SelectedImage
[/COLOR][COLOR=#007700]{
[/COLOR][COLOR=#0000bb]set
[/COLOR][COLOR=#007700]{
[/COLOR][color=#0000bb]pictureBox1[/color][color=#007700].[/color][color=#0000bb]Image [/color][color=#007700]= [/color][color=#0000bb]value[/color][COLOR=#007700];
}
[/COLOR][COLOR=#0000bb]get
[/COLOR][COLOR=#007700]{
return [/COLOR][color=#0000bb]pictureBox1[/color][color=#007700].[/color][color=#0000bb]Image[/color][COLOR=#007700];
}
}
}
}  
[/COLOR][color=#0000bb][/color][/COLOR]


وجرب الكونترول في مشروع جديد كما فعلنا في السابق ولكن الان بعد وضع ال Control على ال Form ضع بجانبه Button ثم أكتب في الحدث Click لل Button


كود :
[color=#000000][COLOR=#0000bb]UserControl1[/color][color=#007700].[/color][color=#0000bb]SelectedImage [/color][color=#007700]= [/color][color=#0000bb]Image[/color][color=#007700].[/color][color=#0000bb]FromFile[/color][color=#007700]([/color][color=#dd0000]"هنا ضع عنوان أي صورة"[/color][COLOR=#007700](  
[/COLOR][color=#0000bb][/color][/COLOR]

ويتم إضافة الأحداث لل Control كما في أي Control عادي مثلا :

كود :
[color=#000000][COLOR=#0000bb]UserControl1[/color][color=#007700].[/color][color=#0000bb]Click [/color][color=#007700]+= new [/color][color=#0000bb]EventHandler[/color][color=#007700]([/color][color=#0000bb]UserControl1_Click[/color][COLOR=#007700]);  
[/COLOR][color=#0000bb][/color][/COLOR]

إلى اللقاء في الدرس القادم إن شاء الله...
}}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  الدرس 22- دوال sql server RaggiTech 0 1,046 18-10-12, 04:11 PM
آخر رد: RaggiTech
  الدرس 21- Stored Procedures RaggiTech 0 923 18-10-12, 04:09 PM
آخر رد: RaggiTech
  الدرس 20- تنفيذ جمل الإستعلام insert-update-delete RaggiTech 2 964 18-10-12, 04:08 PM
آخر رد: RaggiTech
  الدرس 19- ربط قاعدة بيانات accessمع c#-vb.net وتنفيذ جمل إستعلام - الوضع المتصل RaggiTech 0 1,316 18-10-12, 03:41 PM
آخر رد: RaggiTech
  الدرس 18- ربط قاعدة بيانات sql مع c#-vb.net وتنفيذ جمل إستعلام - الوضع المتصل RaggiTech 0 2,466 18-10-12, 03:29 PM
آخر رد: RaggiTech
  الدرس 17- مقدمة إلى قواعد البيانات RaggiTech 0 732 18-10-12, 03:21 PM
آخر رد: RaggiTech
  الدرس 15- البداية مع gdi+ RaggiTech 1 751 18-10-12, 03:16 PM
آخر رد: RaggiTech
  الدرس 14- شرح تقنية ال wpf مع بعض الأمثلة RaggiTech 4 1,097 18-10-12, 03:12 PM
آخر رد: RaggiTech
  الدرس 13- Multi-Threading RaggiTech 0 770 18-10-12, 03:03 PM
آخر رد: RaggiTech
  الدرس 12- شرح تقنية WCF والتخصص بال Sockets مع مثال RaggiTech 0 2,428 18-10-12, 02:57 PM
آخر رد: RaggiTech

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم