dotnet-snippets.de
Willkommen bei dotnet-snippets.de! Snippet hinzufügen Login Registrieren
Snippets in der Datenbank: 1405 | Anzahl registrierter User: 1436 | Besucher online: 29
Hauptmenü
Home
Top Ten
Zufälliger Snippet
Tech-Ed-Gewinnspiel
FAQs
.NET Community
dotnet-forum.de
dotnet-kicks.de
Social

RSS Feeds
Rss Alle Snippets
Rss C#
Rss VB.NET
Rss C++
Rss ASP.NET
Partner
Partner von Codezone.de


Member of Microsoft Community Leader/Insider Program (CLIP)

Custom Toolstrip Renderer


Autor: Thorsten Hans
Sprache: C#
Bewertung:
noch nicht bewertet

Anzahl der Aufrufe: 6393
  

Beschreibung:

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.

Abgelegt unter: ToolStrip, Style, customizing, Control.



C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
// 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);
            }
            
        }
Sie haben Fragen zu diesem Snippet oder brauchen Hilfe bei der .NET Entwicklung?
Freundliche und kompetente Entwickler helfen Ihnen gern weiter im Forum für .NET Entwicklung.



Kommentare:
(Zum Schreiben von Kommentaren bitte anmelden.)



schlecht sehr gut
1 2 3 4 5 6 7 8 9 10
Nur angemeldete User können Snippets bewerten.