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
Sınıfını ToolStripRenderer genişletme.
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 Classpublic 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
Ö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();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();