Nasıl yapılır: Windows Forms'da ToolStrip Denetimi için Özel Oluşturucu Oluşturma ve Ayarlama

ToolStrip denetimler temalara ve stiller için kolay destek sağlar. özelliğini veya özelliğini özel bir işleyiciye ayarerek tamamen özel bir görünüm ve davranış (genel görünüm) ToolStrip.RendererToolStripManager.Renderer elde etmek için kullanabilirsiniz.

Her bir , , veya denetimine işleyiciler atayabilirsiniz veya özelliğini özelliğini olarak ayarerek tüm nesneleri etkileyecek ToolStripMenuStrip şekilde ContextMenuStripStatusStripRendererToolStrip.RenderModeToolStripRenderMode.ManagerRenderMode kullanabilirsiniz.

Not

RenderMode yalnızca Custom değerinin değeri ToolStrip.Renderer ise null döndürür.

Özel bir işleyici oluşturmak için

  1. Sınıfını ToolStripRenderer genişletme.

  2. Uygun On... üyelerini geçersiz karak istenen özel işlemeyi uygulama

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

Özel işleyiciyi geçerli işleyici olarak ayarlamak için

  1. Özel işleyiciyi bir için ayarlamak ToolStrip için özelliğini ToolStrip.Renderer özel işleyici olarak ayarlayın.

    toolStrip1.Renderer = New RedTextRenderer()  
    
    toolStrip1.Renderer = new RedTextRenderer();  
    
  2. Veya uygulamanıza ait tüm sınıflar için özel işleyiciyi ayarlamak için: özelliğini özel işleyici olarak ToolStrip ayarlayın ve özelliğini olarak ToolStripManager.RendererRenderModeManagerRenderMode ayarlayın.

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

Ayrıca bkz.