Como criar e definir um renderizador personalizado para o controle ToolStrip no Windows Forms
Controles ToolStrip dão suporte fácil a temas e estilos. Você pode alcançar uma aparência e um comportamento totalmente personalizados (look and feel) definindo a propriedade ToolStrip.Renderer ou a propriedade ToolStripManager.Renderer para um renderizador personalizado.
Você pode atribuir renderizadores a cada ToolStripindividual, MenuStrip, ContextMenuStripou controle StatusStrip ou pode usar a propriedade Renderer para afetar todos os objetos definindo a propriedade ToolStrip.RenderMode como ToolStripRenderMode.ManagerRenderMode.
Nota
RenderMode retornará Custom somente se o valor de ToolStrip.Renderer não for null
.
Para criar um renderizador personalizado
Estenda a classe ToolStripRenderer.
Implementar a renderização personalizada desejada substituindo os membros Em...
Public Class RedTextRenderer Inherits System.Windows.Forms.ToolStripRenderer Protected Overrides Sub OnRenderItemText(ByVal e As _ ToolStripItemTextRenderEventArgs) e.TextColor = Color.Red e.TextFont = New Font("Helvetica", 7, FontStyle.Bold) MyBase.OnRenderItemText(e) End Sub End Class
public class RedTextRenderer : _ System.Windows.Forms.ToolStripRenderer { protected override void _ OnRenderItemText(ToolStripItemTextRenderEventArgs e) { e.TextColor = Color.Red; e.TextFont = new Font("Helvetica", 7, FontStyle.Bold); base.OnRenderItemText(e); } }
Para definir o renderizador personalizado como o renderizador atual
Para definir o renderizador personalizado para um ToolStrip, defina a propriedade ToolStrip.Renderer como o renderizador personalizado.
toolStrip1.Renderer = New RedTextRenderer()
toolStrip1.Renderer = new RedTextRenderer();
Ou para definir o renderizador personalizado para todas as classes de ToolStrip contidas em seu aplicativo: defina a propriedade ToolStripManager.Renderer para o renderizador personalizado e defina a propriedade RenderMode como ManagerRenderMode.
toolStrip1.RenderMode = ToolStripRenderMode.ManagerRenderMode ToolStripManager.Renderer = New RedTextRenderer()
toolStrip1.RenderMode = ToolStripRenderMode.ManagerRenderMode; ToolStripManager.Renderer = new RedTextRenderer();
Consulte também
.NET Desktop feedback