Porady: tworzenie i ustawienie niestandardowego modułu renderowania dla formantu ToolStrip w formularzach systemu Windows

ToolStrip kontrolki zapewniają łatwą obsługę motywów i stylów. Możesz osiągnąć całkowicie niestandardowy wygląd i zachowanie (wygląd i działanie), ustawiając ToolStrip.Renderer właściwość lub ToolStripManager.Renderer właściwość na niestandardowy moduł renderowania.

Można przypisać programy renderowane do każdej jednostki ToolStrip, , MenuStriplub ContextMenuStripStatusStrip kontrolki albo użyć Renderer właściwości , aby wpłynąć na wszystkie obiekty, ustawiając ToolStrip.RenderMode właściwość na ToolStripRenderMode.ManagerRenderMode.

Uwaga

RenderModezwraca Custom wartość tylko wtedy, gdy wartość nie nullma wartości ToolStrip.Renderer .

Aby utworzyć niestandardowy moduł renderowania

  1. Rozszerz klasę ToolStripRenderer .

  2. Zaimplementuj żądane renderowanie niestandardowe, przesłaniając odpowiednie elementy członkowskie Włączone...

    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);  
        }  
    }  
    

Aby ustawić niestandardowy moduł renderowania jako bieżący moduł renderowania

  1. Aby ustawić niestandardowy moduł renderowania dla jednego ToolStripelementu , ustaw ToolStrip.Renderer właściwość na niestandardowy moduł renderowania.

    toolStrip1.Renderer = New RedTextRenderer()  
    
    toolStrip1.Renderer = new RedTextRenderer();  
    
  2. Lub ustawić niestandardowy moduł renderowania dla wszystkich ToolStrip klas zawartych w aplikacji: ustaw ToolStripManager.Renderer właściwość na niestandardowy moduł renderowania i ustaw RenderMode właściwość na ManagerRenderMode.

    toolStrip1.RenderMode = ToolStripRenderMode.ManagerRenderMode  
    ToolStripManager.Renderer = New RedTextRenderer()  
    
    toolStrip1.RenderMode = ToolStripRenderMode.ManagerRenderMode;  
    ToolStripManager.Renderer = new RedTextRenderer();  
    

Zobacz też