تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
قائمة منسدلة MenuStrip
#1
الكود التالي يوضح تطوير بسيط للقائمة المنسدلة MenuStrip بحيث تظهر كما في الصورة الموجودة بالمرفقات

الكود :
ينقسم الي ثلاثة كلاسات كالتالي

StripRenderer
StripColorTable
ٍStripMenu

PHP كود :
Public Class StripRenderer
    Inherits ToolStripProfessionalRenderer

#Region "Constructor"

 
   Public Sub New(table As ProfessionalColorTable)
 
       MyBase.New(table)
 
       Me.BackgroundColor Color.Black
        Me
.FontColor Color.Lime
        Me
.FontHoverColor Color.Black
    End Sub

#End Region

#Region "Property"

 
   Public Property BackgroundColor() As Color

    Public Property FontColor
() As Color

    Public Property FontHoverColor
() As Color

#End Region

#Region "Method"

 
   Protected Overrides Sub OnRenderToolStripBackground(As ToolStripRenderEventArgs)
 
       MyBase.OnRenderToolStripBackground(e)
 
       e.ToolStrip.BackColor Me.BackgroundColor
    End Sub

    Protected Overrides Sub OnRenderItemText
(As ToolStripItemTextRenderEventArgs)
 
       MyBase.OnRenderItemText(e)
 
       e.Item.ForeColor = (If((Not e.Item.Selected AndAlso Not e.Item.Pressed), Me.FontColorMe.FontHoverColor))
 
   End Sub

#End Region

End Class 



PHP كود :
Public Class StripColorTable
    Inherits ProfessionalColorTable

#Region "Constructor"

 
   Public Sub New()
 
       Me.BackgroundColor Color.Black
        Me
.HoverColor Color.Lime
        Me
.SeperatorColor Color.Lime
        Me
.ImageMarginColor Color.Black
        Me
.MenuBorderColor Color.Lime
    End Sub

#End Region

#Region "Property"

 
   Public Property BackgroundColor() As Color

    Public Property HoverColor
() As Color

    Public Property SeperatorColor
() As Color

    Public Property ImageMarginColor
() As Color

    Public Property MenuBorderColor
() As Color

    Public Overrides ReadOnly Property ButtonPressedGradientBegin
() As Color
        Get
            Return Me
.HoverColor
        End Get
    End Property

    Public Overrides ReadOnly Property ButtonPressedGradientMiddle
() As Color
        Get
            Return Me
.HoverColor
        End Get
    End Property

    Public Overrides ReadOnly Property ButtonPressedGradientEnd
() As Color
        Get
            Return Me
.HoverColor
        End Get
    End Property

    Public Overrides ReadOnly Property MenuItemPressedGradientBegin
() As Color
        Get
            Return Me
.HoverColor
        End Get
    End Property

    Public Overrides ReadOnly Property MenuItemPressedGradientMiddle
() As Color
        Get
            Return Me
.HoverColor
        End Get
    End Property

    Public Overrides ReadOnly Property MenuItemPressedGradientEnd
() As Color
        Get
            Return Me
.HoverColor
        End Get
    End Property

    Public Overrides ReadOnly Property ButtonCheckedHighlightBorder
() As Color
        Get
            Return Me
.HoverColor
        End Get
    End Property

    Public Overrides ReadOnly Property ButtonSelectedHighlightBorder
() As Color
        Get
            Return Me
.HoverColor
        End Get
    End Property

    Public Overrides ReadOnly Property ButtonSelectedHighlight
() As Color
        Get
            Return Me
.HoverColor
        End Get
    End Property

    Public Overrides ReadOnly Property ButtonPressedHighlight
() As Color
        Get
            Return Me
.HoverColor
        End Get
    End Property

    Public Overrides ReadOnly Property ButtonCheckedHighlight
() As Color
        Get
            Return Me
.HoverColor
        End Get
    End Property

    Public Overrides ReadOnly Property MenuItemSelectedGradientBegin
() As Color
        Get
            Return Me
.HoverColor
        End Get
    End Property

    Public Overrides ReadOnly Property MenuItemSelectedGradientEnd
() As Color
        Get
            Return Me
.HoverColor
        End Get
    End Property

    Public Overrides ReadOnly Property MenuItemSelected
() As Color
        Get
            Return Me
.HoverColor
        End Get
    End Property

    Public Overrides ReadOnly Property ButtonSelectedBorder
() As Color
        Get
            Return Me
.BackgroundColor
        End Get
    End Property

    Public Overrides ReadOnly Property StatusStripGradientBegin
() As Color
        Get
            Return Me
.BackgroundColor
        End Get
    End Property

    Public Overrides ReadOnly Property StatusStripGradientEnd
() As Color
        Get
            Return Me
.BackgroundColor
        End Get
    End Property

    Public Overrides ReadOnly Property ButtonPressedBorder
() As Color
        Get
            Return Me
.BackgroundColor
        End Get
    End Property

    Public Overrides ReadOnly Property ToolStripBorder
() As Color
        Get
            Return Me
.BackgroundColor
        End Get
    End Property

    Public Overrides ReadOnly Property MenuItemBorder
() As Color
        Get
            Return Me
.BackgroundColor
        End Get
    End Property

    Public Overrides ReadOnly Property ToolStripGradientBegin
() As Color
        Get
            Return Me
.BackgroundColor
        End Get
    End Property

    Public Overrides ReadOnly Property ToolStripGradientEnd
() As Color
        Get
            Return Me
.BackgroundColor
        End Get
    End Property

    Public Overrides ReadOnly Property ToolStripGradientMiddle
() As Color
        Get
            Return Me
.BackgroundColor
        End Get
    End Property

    Public Overrides ReadOnly Property MenuStripGradientBegin
() As Color
        Get
            Return Me
.BackgroundColor
        End Get
    End Property

    Public Overrides ReadOnly Property MenuStripGradientEnd
() As Color
        Get
            Return Me
.BackgroundColor
        End Get
    End Property

    Public Overrides ReadOnly Property ToolStripDropDownBackground
() As Color
        Get
            Return Me
.BackgroundColor
        End Get
    End Property

    Public Overrides ReadOnly Property ToolStripPanelGradientBegin
() As Color
        Get
            Return Me
.BackgroundColor
        End Get
    End Property

    Public Overrides ReadOnly Property ToolStripPanelGradientEnd
() As Color
        Get
            Return Me
.BackgroundColor
        End Get
    End Property

    Public Overrides ReadOnly Property ButtonSelectedGradientBegin
() As Color
        Get
            Return Me
.BackgroundColor
        End Get
    End Property

    Public Overrides ReadOnly Property ButtonSelectedGradientMiddle
() As Color
        Get
            Return Me
.BackgroundColor
        End Get
    End Property

    Public Overrides ReadOnly Property ButtonSelectedGradientEnd
() As Color
        Get
            Return Me
.BackgroundColor
        End Get
    End Property

    Public Overrides ReadOnly Property ImageMarginGradientBegin
() As Color
        Get
            Return Me
.ImageMarginColor
        End Get
    End Property

    Public Overrides ReadOnly Property ImageMarginGradientEnd
() As Color
        Get
            Return Me
.ImageMarginColor
        End Get
    End Property

    Public Overrides ReadOnly Property ImageMarginGradientMiddle
() As Color
        Get
            Return Me
.ImageMarginColor
        End Get
    End Property

    Public Overrides ReadOnly Property SeparatorDark
() As Color
        Get
            Return Me
.SeperatorColor
        End Get
    End Property

    Public Overrides ReadOnly Property SeparatorLight
() As Color
        Get
            Return Me
.SeperatorColor
        End Get
    End Property

    Public Overrides ReadOnly Property MenuBorder
() As Color
        Get
            Return Me
.MenuBorderColor
        End Get
    End Property

#End Region

End Class 


PHP كود :
Public Class StripMenu
    Inherits MenuStrip

    Public Sub 
New()
 
       Me.BackgroundColor Color.Black
        Me
.ImageMarginColor Color.Black
        Me
.FontHoverColor Color.Black
        Me
.MenuBorderColor Color.Lime
        Me
.SeperatorColor Color.Lime
        Me
.HoverColor Color.Lime
        Me
.FontColor Color.Lime
        MyBase
.RenderMode ToolStripRenderMode.Professional
        MyBase
.Renderer = New StripRenderer(New StripColorTable() With {.BackgroundColor Me.BackgroundColor, .SeperatorColor Me.SeperatorColor, .HoverColor Me.HoverColor, .ImageMarginColor Me.ImageMarginColor, .MenuBorderColor Me.MenuBorderColor}) With {.BackgroundColor Me.BackgroundColor, .FontColor Me.FontColor, .FontHoverColor Me.FontHoverColor}
 
   End Sub

    Public Property MenuBorderColor
() As Color
    Public Property ImageMarginColor
() As Color
    Public Property SeperatorColor
() As Color
    Public Property HoverColor
() As Color
    Public Property BackgroundColor
() As Color
    Public Property FontHoverColor
() As Color
    Public Property FontColor
() As Color

End 
Class 

الإستخدام
أضف الكلاسات للمشروع
اعمل Build بعدها ستجد الكونترول StripMenu موجود في ToolBox الخاص بالفيجوال استوديو
اسحب الكونترول StripMenu الي الفورم
تعامل معه كما تتعامل مع اي MenuStrip

أتمني أن يكون الكود مفيدا للبعض منكم
تقبلوا تحياتي


الملفات المرفقة صورة/صور
   
Retired
الرد }}}
تم الشكر بواسطة: sendbad100 , sendbad100 , ابو روضة , tryold
#2
جزاك الله كل الخير استاذنا ماشاء الله عليك
الرد }}}
تم الشكر بواسطة:



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


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