تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
الرجاء مساعدتى فى كيفه تصميم الادوات على الفيجوال بيسك 2010
#8

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




راح أعطيك مثال يصلح لك كمبتدئ وبأبسط الأساسيات لعمل زر دون الدخول في المسائل المتقدمة
أدرسه بالتفصيل سطر سطر وبعدها بإذن الله ستنطلق من تلقاء نفسك وبالبحث عن المسائل المتقدمة

PHP كود :
Public Class myButton

    
'' توريث من الزر الأساسي للفجوال بيسيك
    Inherits Button




    
'' متغير لحالة ضغط الماوس على الزر
    
Private _MouseDown As Boolean False

    
'' متغير لحالة دخول الماوس على الزر
    
Private _MouseHover As Boolean False

    
'' متغير لحالة حصول الزر على التركيز
    
Private _MouseFocused As Boolean False




    
'' حدث دخول الماوس
    
Protected Overrides Sub OnMouseEnter(ByVal e As System.EventArgs)
        
'' لازم يكون أول الإجراء ولا شيء قبله والباقي مثله
        MyBase
.OnMouseEnter(e)

        
_MouseHover True

        
'' تحديث رسم الزر والباقي مثله
        Me
.Invalidate()
    
End Sub

    
'' حدث خروج الماوس
    
Protected Overrides Sub OnMouseLeave(ByVal e As System.EventArgs)
        
MyBase.OnMouseLeave(e)
        
_MouseHover False
        Me
.Invalidate()
    
End Sub


    
'' حدث ضغظ زر الماوس
    
Protected Overrides Sub OnMouseDown(ByVal e As System.Windows.Forms.MouseEventArgs)
        
MyBase.OnMouseDown(e)
        If 
e.Button Windows.Forms.MouseButtons.Left Then
            _MouseDown 
True
            Me
.Invalidate()
        
End If
    
End Sub

    
'' حدث ترك ضغظ زر الماوس
    
Protected Overrides Sub OnMouseUp(ByVal e As System.Windows.Forms.MouseEventArgs)
        
MyBase.OnMouseUp(e)
        
_MouseDown False
        Me
.Invalidate()
    
End Sub


    
'' حدث حصول الزر على التركيز
    
Protected Overrides Sub OnGotFocus(ByVal e As System.EventArgs)
        
MyBase.OnGotFocus(e)
        
_MouseFocused True
        Me
.Invalidate()
    
End Sub

    
'' حدث خسارة الزر للتركيز
    
Protected Overrides Sub OnLostFocus(ByVal e As System.EventArgs)
        
MyBase.OnLostFocus(e)
        
_MouseFocused False
        Me
.Invalidate()
    
End Sub



    
'' حدث رسم الزر
    
Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs)
        
MyBase.OnPaint(e)

        
'' نأتي لمعرفة حالة ضغط الماوس ودخوله لتحديد لون الرسم
        
If _MouseDown Then
            
'' مسح رسم الزر واستبداله بلون
            e
.Graphics.Clear(Color.Gray)

        ElseIf 
_MouseHover Then
            e
.Graphics.Clear(Color.DarkGray)

        Else
            
e.Graphics.Clear(Me.BackColor)

        
End If


        
'' رسم مستطيل أحمر داخل الزر في حالة حصوله على التركيز
        
If _MouseFocused Then
            e
.Graphics.DrawRectangle(Pens.Red, New Rectangle(22Me.Width 5Me.Height 5))
        
End If


        
'' رسم مستطيل على جوانب الزر لتحديده
        e
.Graphics.DrawRectangle(Pens.Blue, New Rectangle(00Me.Width 1Me.Height 1))

        
'' معرفة حجم النص
        Dim sz 
As Size TextRenderer.MeasureText(Me.TextMe.Font)

        
'' تحديد مكان رسم النص بحيث يكون في المنتصف
        Dim pt 
As New Point((Me.Width sz.Width) / 2, (Me.Height sz.Height) / 2)

        
'' رسم النص
        e
.Graphics.DrawString(Me.TextMe.Font, New SolidBrush(Me.ForeColor), pt)


    
End Sub


End 
Class 





السلام عليكم ورحمة الله وبركاته
الرد }}}
تم الشكر بواسطة:


الردود في هذا الموضوع
الرجاء مساعدتى فى كيفه تصميم الادوات على الفيجوال بيسك 2010 - بواسطة @@أبورائد@@_mybb_import5382 - 26-07-13, 07:32 PM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [مشروع] سؤال عن publish بفيجوال بيسك 2019 إليسار 2 2,302 09-02-22, 04:15 PM
آخر رد: kaled2025
Brick [سؤال] كيف أتحكم فى فورم من فورم تانية و كيف أخصص زرار لأمر معين فيجوال بيسك 10 abdo_ahmed 3 3,694 28-05-21, 08:55 PM
آخر رد: إليسار
  ربط الاكسل مع فيجوال بيسك 2010 Eng.ae 4 8,942 18-04-18, 11:16 AM
آخر رد: moniam
  أيهما أفضل تطبيقات فيجوال بيسك أم فيجوال سي شارب ؟ فانتسي ارت 9 15,421 03-11-17, 09:51 PM
آخر رد: sendbad100
  فيما يتعلق بالكريستال ريبورت مع الفيجوال ستوديو2012 أبو راشد عبدالوهاب 2 4,172 11-07-17, 11:23 AM
آخر رد: أبو راشد عبدالوهاب
  مشكلة في فيجول ستوديو 2010 thams 0 3,068 21-01-17, 04:52 PM
آخر رد: thams
Heart الرجاء مساعدتي بمشكلة ببرنامج فيجوال ستيديو 2015 CLARO 8 6,165 10-01-17, 08:03 PM
آخر رد: Mohamed371
  [VB.NET] الفرق بين اصدارات فيجوال بيسك دوت نت المختلفة Ahmed Mikkawe 1 7,812 25-05-16, 04:24 PM
آخر رد: غزوان خليل
  الفيجوال استديو 2015 وصل kslawy 10 9,372 14-08-15, 02:28 AM
آخر رد: ابوثامر
Photo الرجاء المساعدة بي Microsoft Visual Studio 2008 ضيعاوي 0 2,672 03-04-15, 12:37 PM
آخر رد: ضيعاوي

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


يقوم بقرائة الموضوع: