03-11-17, 01:24 PM
الكود التالي يوضح تطوير بسيط للقائمة المنسدلة MenuStrip بحيث تظهر كما في الصورة الموجودة بالمرفقات
الكود :
ينقسم الي ثلاثة كلاسات كالتالي
StripRenderer
StripColorTable
ٍStripMenu
الإستخدام
أضف الكلاسات للمشروع
اعمل Build بعدها ستجد الكونترول StripMenu موجود في ToolBox الخاص بالفيجوال استوديو
اسحب الكونترول StripMenu الي الفورم
تعامل معه كما تتعامل مع اي 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(e As ToolStripRenderEventArgs)
MyBase.OnRenderToolStripBackground(e)
e.ToolStrip.BackColor = Me.BackgroundColor
End Sub
Protected Overrides Sub OnRenderItemText(e As ToolStripItemTextRenderEventArgs)
MyBase.OnRenderItemText(e)
e.Item.ForeColor = (If((Not e.Item.Selected AndAlso Not e.Item.Pressed), Me.FontColor, Me.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
أتمني أن يكون الكود مفيدا للبعض منكم
تقبلوا تحياتي