La propriété RenderMode permet au développeur de contrôler avec précision l'affichage de ToolStrip (ou ContextMenu). Lorsque vous définissez le RenderMode sur ManagerRenderMode, vous pouvez créer un rendu personnalisé qui vous permettra de personnaliser l'apparence de ToolStrip. Par exemple, le code ci-dessous dessine un dégradé gris en tant qu'arrière-plan d'un élément dans un ContextMenu qui a actuellement la souris dessus.
Class CustomProfessionalRenderer
Inherits ToolStripProfessionalRenderer
Protected Overrides Sub OnRenderMenuItemBackground(ByVal e As ToolStripItemRenderEventArgs)
Dim r As Rectangle = e.Item.ContentRectangle
If e.Item.Selected Then
Dim b = New LinearGradientBrush(r, Color.FromArgb(255, 227, 224, 215), Color.White, LinearGradientMode.Vertical)
Try
e.Graphics.FillRectangle(b, e.Item.ContentRectangle)
Finally
b.Dispose()
End Try
End If
End Sub
End Class
Assurez-vous que votre événement Form Load, ou une autre zone qui est appelée avant l'toolstrip est utilisé, vous cédez votre moteur de rendu personnalisé à votre toolstrip:
comment faire
myToolStrip.Renderer = New CustomProfessionalRenderer()
sans mose sur événement –