Feedback

C# - Custom Toolstrip Renderer

Veröffentlicht von am 29.01.2008
(1 Bewertungen)
Viele von Euch kennen bestimmt die schöne ToolStrip aus der .Net-Bar. Die Toolstrip wird mit einem Farbverlauf von schwarz nach dunkel-grau dargestellt, leider bringt das .Net Framework diesen Style nicht von Haus aus mit, durch die Implementierung eines CustomToolStripRenderers kann hier jedoch abhilfe geschafen werden.
GFU-Schulungen  [Anzeige]

Angular mit ASP.NET Core für .NET-Entwickler

.NET ist Ihnen vertraut, als Entwickler verfügen Sie über einschlägige Kenntnisse. In diesem Kurs lernen Sie nun, Angular in .NET-Umgebungen einzusetzen. Sie verstehen das Konzept von Angular und integrieren das clientseitige JS-Framework sicher in.NET-Anwendungen.

JavaScript für .NET-Entwickler

Sie sind .NET-Entwickler und nun stehen Sie vor der Aufgabe, JavaScript in Ihre Arbeit einzubinden. Die Schulung vermittelt Ihnen die JavaScript Grundlagen und die Funktionen der Scriptsprache. Sie wissen, wie objektorientierte Programmierung in JavaScript funktioniert und lernen abschließend Best Practicies Fälle kennen.

// Wenn man eine Instanz dieser Klasse in die Renderer Property des Tollstrips
//auf dem Form setzt wird nur diese ToolStrip in der Farbe dargestellt.
// Alternativ kann man dem ToolStripManager.Renderer eine neue Instanz
// der Klasse zuweisen dann werden alle ToolStrips die den ManagedRenderer 
// verwenden dementsprechend dargestellt. 
class CustomToolStripRenderer: ToolStripRenderer
    {
        protected override void OnRenderToolStripBackground(ToolStripRenderEventArgs e)
        {
            LinearGradientBrush brd = new LinearGradientBrush(e.AffectedBounds,
                Color.White, Color.LightSteelBlue, 90);
            e.Graphics.FillRectangle(brd,  e.AffectedBounds);            
        }

        protected override void OnRenderItemText(ToolStripItemTextRenderEventArgs e)
        {
            e.TextColor = Color.Black;
            base.OnRenderItemText(e);
        }

        protected override void OnRenderButtonBackground(ToolStripItemRenderEventArgs e)
        {
            if (e.Item.Pressed || e.Item.Selected)
            {
                LinearGradientBrush brd = new LinearGradientBrush(e.Item.Bounds,
                    Color.DarkGray, Color.LightSteelBlue, 90);
                e.Graphics.FillRectangle(brd, 0, 0, e.Item.Width, e.Item.Height);
            }
            else
            {
                base.OnRenderButtonBackground(e);
            }
            
        }
Abgelegt unter ToolStrip, Style, customizing, Control.

Kommentare zum Snippet

 

Logge dich ein, um hier zu kommentieren!