السلام عليكم اخوانى كثير من يسأل على كيفية صنع UserControl وجدت ان اضع هذا الموضوع واسف اذا كان الموضوع مكرر
هنا سنأخذ مثالآ صغيرا لصنع هذا الكنترول ليكن DigitalColck على هيئة كنترول
لنبدء العمل
1- قم بفتح مشروع جديد وأختار Windows Control Library وقم بتسميتة DigitalClock
2- قم بتسمة الكنترول من UserControl1.vb الى DigitalClock.vb
3- أضف Label الى الكنترول وقم بتسميتة LocaltimeLabel وقم بسمح كلمة Label 1 من الخاصية Text
4- قم باضافة Timer ولا تعبث بالخصائص الخاصة فية
انتهينا من مرحلة تصميم شكل الكنترول لنبدء العمل بالاكود
5- نبدء بكتابة خصائص الكنترول كالالوان والخط والخصائص الخاصة بنعم او لا وهكذاااااا
اولا : خاصية تشغيل الـ Timer وطبعا هى اما True او False اذا نحتاج الى Boolean
اولا نقوم بالاعلان عن انها خاصية عامة Public Property ويكون الكود الخاص بها كالاتى
' الاعلان الخاصية العامة Public Property Timer1_Enbland() As Boolean Get Return Timer1.Enabled ' يسترجع حالة التيمر اما ture or false End Get Set(ByVal Value As Boolean) Timer1.Enabled = Value End Set End Property
6- والان نضيف خاصية جديدة ليزيد الامر اتضاحأ
خاصية لون الساعة
Public Property LocaltimeLabel_backcolor() As Color ' لاحظ الفرق بين الخاصية الاولى والثانية Get Return LocaltimeLabel.BackColor End Get Set(ByVal Value As Color) LocaltimeLabel.BackColor = Value End Set End Property
7 - باقى الاعلان عن حدث عام لاستعدعأة فى الـ Timer
Public Event raiseTimer1_tick(ByVal sender As Object, ByVal e As EventArgs)
8- الان الكود الخاص بالـ Timer ويوجد فى الحدث Timer1_Tick
LocaltimeLabel.Text = Now.ToString RaiseEvent raiseTimer1_tick(sender, e) ' استدعاء الحدث السابق
9- ثم من قائمة Build اختار Build Solution وهكذا تم تكوين الكنترول بامتداد DLL
الان علينا أختبار الكنترول
الان من قائمة File اختار New ----> Project
ثم اختار Windows Application وقم بتسميتة TestControl
الان قم باضافة الاداء التى قمت بعملها سابقا من قائمة TooLs واختار منها ADD/Remove ToolBox item
ثم نضغط Browse ونختار مكان الكنترول الموجود فى ملف الـ Bin فى مشروع الكنترول
ستجد الكنترول الخاصة بك قد تمت اضافتها الى الاداوات فى اخر الادوات
قم باضافة الكنترول الى الـ FORM مثل اى اداة عادية
والان من خصائص الكنترول ستجد الخصائص التى قمنا بعملها
واسمها هى Timer_Enbland واجعلها = Ture
وقائمة الالوان واسمها LocalTimeLabel_Background واختار اللون الذى تحبة
سجد الوقت ظهر على الـ Label واللون قد تغير واتنهينا والحمد لله
أسف اذا كان فى قصور فى شرحى وارجوا من الله المغفرة لى والدى والسلام عليكم ورحمة الله وبركاتة
وهذا المرفق يوجود فية البرنامج كامل