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

ToolStrip denetimler, temalara ve stiller için kolay destek sağlar. Özelliği veya ToolStripManager.Renderer özelliği özel işleyici olarak ayarlayarak ToolStrip.Renderer tamamen özel görünüm ve davranış (görünüm ve his) elde edebilirsiniz.

Her bir ToolStrip, , ContextMenuStripMenuStripveya StatusStrip denetimine işleyiciler atayabilir veya özelliğini olarak ayarlayarak tüm nesneleri etkilemek ToolStrip.RenderMode için ToolStripRenderMode.ManagerRenderModeözelliğini kullanabilirsinizRenderer.

Dekont

RenderModeyalnızca değeri ToolStrip.Renderer değilse nulldöndürürCustom.

Özel işleyici oluşturmak için

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

  2. Uygun Açık... üyelerini geçersiz kılarak 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. Bir ToolStripiçin özel işleyiciyi ayarlamak için özelliğini özel işleyici olarak ayarlayın ToolStrip.Renderer .

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

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

Ayrıca bkz.