Udostępnij za pośrednictwem


Instrukcje: tworzenie i ustawianie niestandardowego modułu renderującego dla kontrolki ToolStrip w formularzach systemu Windows

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

Można przypisać elementy renderowane do poszczególnych ToolStrip, MenuStrip, ContextMenuStriplub StatusStrip kontrolki albo użyć właściwości Renderer, aby wpłynąć na wszystkie obiekty, ustawiając właściwość ToolStrip.RenderMode na wartość ToolStripRenderMode.ManagerRenderMode.

Notatka

RenderMode zwraca wartość Custom tylko wtedy, gdy wartość ToolStrip.Renderer nie jest null.

Aby utworzyć niestandardowy moduł renderowania

  1. Rozszerz klasę ToolStripRenderer.

  2. Zaimplementuj żądane renderowanie niestandardowe poprzez zastępowanie odpowiednich metodami.

    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 elementu ToolStrip, ustaw właściwość ToolStrip.Renderer dla niestandardowego modułu renderowania.

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

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

Zobacz też