تقييم الموضوع :
  • 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]

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



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


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