تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[كود] Line Control
#1
السلام عليكم ورحمة الله و بركاته

في هذا الموضوع سوف نبني كونترول بسيط و الغالبية منكم يتذكرون LineControl القديم الذي كان موجودا في النسخ القديمة من الفيجوال بيسك 6 و ما قبله تقريبا علي ما اتذكر


و لقد كتبت هذا الموضوع فقط لتأكيد أننا من الممكن أن نستخدم Action Delegates في اطلاق حدث بدون استخدام اي EventHandler

والهدف هنا هو تأكيد الفكرة التي تم طرحها في اللينك التالي

Generic Delegates - Func and Action

و علي العموم الكونترول شكله جيد و مناسب للإستخدام في اي من برامجكم

صفات الكونترول :


LineColor و هي صفة عبارة عن لون
تستطيع منها تغيير اللون المستخدم في عملية رسم الخط

LinePosition وهي صفة عبارة عن Enumeration
تستطيع منها تحديد مكان رسم الخط إما الي الأسفل او في المنتصف أو في القمة


و لمستخدمي نسخةالدوت نت 3.5 فيما فوق يجب عليهم استخدام النسخة V1.1 الموجودة بالمرفقات

أما مستخدمي الدوت نت الاقل من نسخة 3.5 يجب عليهم استخدام النسخة V1.0 الموجودة بالمرفقات

الفارق بين النسختين يظهر في الكود التالي

حيث هنا يتم هنا اطلاق الحدث باستخدام Action Delegate



PHP كود :
   <Browsable(True)>
 
   <Category("Cairo")>
 
   <DefaultValue(GetType(LinePosition), "Middle")>
 
   Public Property LinePosition As LinePosition
        Get
            Return _position
        End Get
        Set
(value As LinePosition)
 
           If _position <> value Then
                Dim positionAction 
As Action(Of LinePositionChangedEventArgs) = Sub()
 
                                                                                   _position value
                                                                                    Invalidate
()
 
                                                                               End Sub
                Dim args 
As New LinePositionChangedEventArgs(_position)
 
               positionAction(args)
 
           End If
 
       End Set
    End Property 

الكود هنا هو نفس الكود اعلاه ولكن يتم اطلاق حدث بالاسلوب التقليدي


PHP كود :
   <Browsable(True)>
 
   <Category("Cairo")>
 
   <DefaultValue(GetType(LinePosition), "Middle")>
 
   Public Property LinePosition As LinePosition
        Get
            Return _position
        End Get
        Set
(value As LinePosition)
 
           If _position <> value Then
                _position 
value
                Dim args 
As New LinePositionChangedEventArgs(_position)
 
               OnPositionchanged(args)
 
           End If
 
       End Set
    End Property 

الكود مكتوب باستخدام الفيجوال استوديو 2015


تقبلو تحياتي


الملفات المرفقة
.rar   Test_LineControl_v1.rar (الحجم : 62.77 ك ب / التحميلات : 14)
.rar   Test_LineControl_V11.rar (الحجم : 64.33 ك ب / التحميلات : 18)
الرد }}}}


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  Control Finder Class silverlight 3 70 03-12-16, 06:11 AM
آخر رد: أبو عمر
  Generic Delegates & ًWindows Forms Control - Part 2 silverlight 0 197 19-01-16, 02:01 PM
آخر رد: silverlight
  Generic Delegates & ًWindows Forms Control - Part 1 silverlight 1 255 16-01-16, 06:35 PM
آخر رد: 10468
  Retrieve Owner and Form of a Control silverlight 0 183 12-12-15, 05:28 AM
آخر رد: silverlight
  Capture Mouse Position within Control Coordinates silverlight 0 225 11-12-15, 10:30 PM
آخر رد: silverlight
Rainbow Toolbox in VB.NET - Common Controls - Lesson One - Button Control Properties Genius Live 18 4,243 26-03-14, 09:21 PM
آخر رد: رابح11
Rainbow Toolbox in VB.NET - Common Controls - Lesson Two - Button Control Events Genius Live 2 1,283 18-03-14, 05:46 AM
آخر رد: Genius Live
  مقال- تطوير الكونترول Skin Control RaggiTech 0 531 06-10-12, 12:08 AM
آخر رد: RaggiTech
  مقال - مقدمة لصناعة Nested Control RaggiTech 1 408 05-10-12, 06:20 PM
آخر رد: RaggiTech
  كونترول جديد من مايكروسوفت MsChart Control RaggiTech 1 549 05-10-12, 03:04 PM
آخر رد: RaggiTech

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


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