ToolStripProfessionalRenderer Klasse

Definition

Behandelt die Lackierfunktion für ToolStrip Objekte, das Anwenden einer benutzerdefinierten Palette und eines optimierten Stils.

public ref class ToolStripProfessionalRenderer : System::Windows::Forms::ToolStripRenderer
public class ToolStripProfessionalRenderer : System.Windows.Forms.ToolStripRenderer
type ToolStripProfessionalRenderer = class
    inherit ToolStripRenderer
Public Class ToolStripProfessionalRenderer
Inherits ToolStripRenderer
Vererbung
ToolStripProfessionalRenderer

Beispiele

Im folgenden Codebeispiel wird das Erstellen eines zusammengesetzten Steuerelements veranschaulicht, das den Navigationsbereich von Microsoft Outlook ® ® nachahmt. Eine vollständige Codeauflistung finden Sie unter How to: Create a Professionally Styled ToolStrip Control.

internal class StackRenderer : ToolStripProfessionalRenderer
{
    private static Bitmap titleBarGripBmp;
    private static string titleBarGripEnc = @"Qk16AQAAAAAAADYAAAAoAAAAIwAAAAMAAAABABgAAAAAAAAAAADEDgAAxA4AAAAAAAAAAAAAuGMy+/n5+/n5uGMyuGMy+/n5+/n5uGMyuGMy+/n5+/n5uGMyuGMy+/n5+/n5uGMyuGMy+/n5+/n5uGMyuGMy+/n5+/n5uGMyuGMy+/n5+/n5uGMyuGMy+/n5+/n5uGMyuGMy+/n5+/n5ANj+RzIomHRh+/n5wm8/RzIomHRh+/n5wm8/RzIomHRh+/n5wm8/RzIomHRh+/n5wm8/RzIomHRh+/n5wm8/RzIomHRh+/n5wm8/RzIomHRh+/n5wm8/RzIomHRh+/n5wm8/RzIomHRh+/n5ANj+RzIoRzIozHtMzHtMRzIoRzIozHtMzHtMRzIoRzIozHtMzHtMRzIoRzIozHtMzHtMRzIoRzIozHtMzHtMRzIoRzIozHtMzHtMRzIoRzIozHtMzHtMRzIoRzIozHtMzHtMRzIoRzIozHtMANj+";

    // Define titlebar colors.
    private static Color titlebarColor1 = Color.FromArgb(89, 135, 214);
    private static Color titlebarColor2 = Color.FromArgb(76, 123, 204);
    private static Color titlebarColor3 = Color.FromArgb(63, 111, 194);
    private static Color titlebarColor4 = Color.FromArgb(50, 99, 184);
    private static Color titlebarColor5 = Color.FromArgb(38, 88, 174);
    private static Color titlebarColor6 = Color.FromArgb(25, 76, 164);
    private static Color titlebarColor7 = Color.FromArgb(12, 64, 154);
    private static Color borderColor = Color.FromArgb(0, 0, 128);

    static StackRenderer()
    {
        titleBarGripBmp = StackView.DeserializeFromBase64(titleBarGripEnc);
    }

    public StackRenderer()
    {
    }

    private void DrawTitleBar(Graphics g, Rectangle rect)
    {
        // Assign the image for the grip.
        Image titlebarGrip = titleBarGripBmp;

        // Fill the titlebar. 
        // This produces the gradient and the rounded-corner effect.
        g.DrawLine(new Pen(titlebarColor1), rect.X, rect.Y, rect.X + rect.Width, rect.Y);
        g.DrawLine(new Pen(titlebarColor2), rect.X, rect.Y + 1, rect.X + rect.Width, rect.Y + 1);
        g.DrawLine(new Pen(titlebarColor3), rect.X, rect.Y + 2, rect.X + rect.Width, rect.Y + 2);
        g.DrawLine(new Pen(titlebarColor4), rect.X, rect.Y + 3, rect.X + rect.Width, rect.Y + 3);
        g.DrawLine(new Pen(titlebarColor5), rect.X, rect.Y + 4, rect.X + rect.Width, rect.Y + 4);
        g.DrawLine(new Pen(titlebarColor6), rect.X, rect.Y + 5, rect.X + rect.Width, rect.Y + 5);
        g.DrawLine(new Pen(titlebarColor7), rect.X, rect.Y + 6, rect.X + rect.Width, rect.Y + 6);

        // Center the titlebar grip.
        g.DrawImage(
            titlebarGrip,
            new Point(rect.X + ((rect.Width / 2) - (titlebarGrip.Width / 2)),
            rect.Y + 1));
    }

    // This method handles the RenderGrip event.
    protected override void OnRenderGrip(ToolStripGripRenderEventArgs e)
    {
        DrawTitleBar(
            e.Graphics,
            new Rectangle(0, 0, e.ToolStrip.Width, 7));
    }

    // This method handles the RenderToolStripBorder event.
    protected override void OnRenderToolStripBorder(ToolStripRenderEventArgs e)
    {
        DrawTitleBar(
            e.Graphics,
            new Rectangle(0, 0, e.ToolStrip.Width, 7));
    }

    // This method handles the RenderButtonBackground event.
    protected override void OnRenderButtonBackground(ToolStripItemRenderEventArgs e)
    {
        Graphics g = e.Graphics;
        Rectangle bounds = new Rectangle(Point.Empty, e.Item.Size);

        Color gradientBegin = Color.FromArgb(203, 225, 252);
        Color gradientEnd = Color.FromArgb(125, 165, 224);

        ToolStripButton button = e.Item as ToolStripButton;
        if (button.Pressed || button.Checked)
        {
            gradientBegin = Color.FromArgb(254, 128, 62);
            gradientEnd = Color.FromArgb(255, 223, 154);
        }
        else if (button.Selected)
        {
            gradientBegin = Color.FromArgb(255, 255, 222);
            gradientEnd = Color.FromArgb(255, 203, 136);
        }

        using (Brush b = new LinearGradientBrush(
            bounds,
            gradientBegin,
            gradientEnd,
            LinearGradientMode.Vertical))
        {
            g.FillRectangle(b, bounds);
        }

        e.Graphics.DrawRectangle(
            SystemPens.ControlDarkDark,
            bounds);

        g.DrawLine(
            SystemPens.ControlDarkDark,
            bounds.X,
            bounds.Y,
            bounds.Width - 1,
            bounds.Y);

        g.DrawLine(
            SystemPens.ControlDarkDark,
            bounds.X,
            bounds.Y,
            bounds.X,
            bounds.Height - 1);

        ToolStrip toolStrip = button.Owner;
        ToolStripButton nextItem = button.Owner.GetItemAt(
            button.Bounds.X,
            button.Bounds.Bottom + 1) as ToolStripButton;

        if (nextItem == null)
        {
            g.DrawLine(
                SystemPens.ControlDarkDark,
                bounds.X,
                bounds.Height - 1,
                bounds.X + bounds.Width - 1,
                bounds.Height - 1);
        }
    }
}
Friend Class StackRenderer
   Inherits ToolStripProfessionalRenderer
   Private Shared titleBarGripBmp As Bitmap
   Private Shared titleBarGripEnc As String = "Qk16AQAAAAAAADYAAAAoAAAAIwAAAAMAAAABABgAAAAAAAAAAADEDgAAxA4AAAAAAAAAAAAAuGMy+/n5+/n5uGMyuGMy+/n5+/n5uGMyuGMy+/n5+/n5uGMyuGMy+/n5+/n5uGMyuGMy+/n5+/n5uGMyuGMy+/n5+/n5uGMyuGMy+/n5+/n5uGMyuGMy+/n5+/n5uGMyuGMy+/n5+/n5ANj+RzIomHRh+/n5wm8/RzIomHRh+/n5wm8/RzIomHRh+/n5wm8/RzIomHRh+/n5wm8/RzIomHRh+/n5wm8/RzIomHRh+/n5wm8/RzIomHRh+/n5wm8/RzIomHRh+/n5wm8/RzIomHRh+/n5ANj+RzIoRzIozHtMzHtMRzIoRzIozHtMzHtMRzIoRzIozHtMzHtMRzIoRzIozHtMzHtMRzIoRzIozHtMzHtMRzIoRzIozHtMzHtMRzIoRzIozHtMzHtMRzIoRzIozHtMzHtMRzIoRzIozHtMANj+"
   
   ' Define titlebar colors.
   Private Shared titlebarColor1 As Color = Color.FromArgb(89, 135, 214)
   Private Shared titlebarColor2 As Color = Color.FromArgb(76, 123, 204)
   Private Shared titlebarColor3 As Color = Color.FromArgb(63, 111, 194)
   Private Shared titlebarColor4 As Color = Color.FromArgb(50, 99, 184)
   Private Shared titlebarColor5 As Color = Color.FromArgb(38, 88, 174)
   Private Shared titlebarColor6 As Color = Color.FromArgb(25, 76, 164)
   Private Shared titlebarColor7 As Color = Color.FromArgb(12, 64, 154)
   Private Shared borderColor As Color = Color.FromArgb(0, 0, 128)
   
   Shared Sub New()
      titleBarGripBmp = StackView.DeserializeFromBase64(titleBarGripEnc)
     End Sub
   
   Public Sub New()
     End Sub
   
     Private Sub DrawTitleBar(ByVal g As Graphics, ByVal rect As Rectangle)

         ' Assign the image for the grip.
         Dim titlebarGrip As Image = titleBarGripBmp

         ' Fill the titlebar. 
         ' This produces the gradient and the rounded-corner effect.
         g.DrawLine(New Pen(titlebarColor1), rect.X, rect.Y, rect.X + rect.Width, rect.Y)
         g.DrawLine(New Pen(titlebarColor2), rect.X, rect.Y + 1, rect.X + rect.Width, rect.Y + 1)
         g.DrawLine(New Pen(titlebarColor3), rect.X, rect.Y + 2, rect.X + rect.Width, rect.Y + 2)
         g.DrawLine(New Pen(titlebarColor4), rect.X, rect.Y + 3, rect.X + rect.Width, rect.Y + 3)
         g.DrawLine(New Pen(titlebarColor5), rect.X, rect.Y + 4, rect.X + rect.Width, rect.Y + 4)
         g.DrawLine(New Pen(titlebarColor6), rect.X, rect.Y + 5, rect.X + rect.Width, rect.Y + 5)
         g.DrawLine(New Pen(titlebarColor7), rect.X, rect.Y + 6, rect.X + rect.Width, rect.Y + 6)

         ' Center the titlebar grip.
         g.DrawImage(titlebarGrip, New Point(rect.X + (rect.Width / 2 - titlebarGrip.Width / 2), rect.Y + 1))
     End Sub
   
   
   ' This method handles the RenderGrip event.
   Protected Overrides Sub OnRenderGrip(e As ToolStripGripRenderEventArgs)
      DrawTitleBar(e.Graphics, New Rectangle(0, 0, e.ToolStrip.Width, 7))
     End Sub
   
   
   ' This method handles the RenderToolStripBorder event.
   Protected Overrides Sub OnRenderToolStripBorder(e As ToolStripRenderEventArgs)
      DrawTitleBar(e.Graphics, New Rectangle(0, 0, e.ToolStrip.Width, 7))
     End Sub
   
   
   ' This method handles the RenderButtonBackground event.
   Protected Overrides Sub OnRenderButtonBackground(e As ToolStripItemRenderEventArgs)
      Dim g As Graphics = e.Graphics
      Dim bounds As New Rectangle(Point.Empty, e.Item.Size)
      
      Dim gradientBegin As Color = Color.FromArgb(203, 225, 252)
      Dim gradientEnd As Color = Color.FromArgb(125, 165, 224)
      
         Dim button As ToolStripButton = CType(e.Item, ToolStripButton)
      
      If button.Pressed OrElse button.Checked Then
         gradientBegin = Color.FromArgb(254, 128, 62)
         gradientEnd = Color.FromArgb(255, 223, 154)
      ElseIf button.Selected Then
         gradientBegin = Color.FromArgb(255, 255, 222)
         gradientEnd = Color.FromArgb(255, 203, 136)
      End If
      
      Dim b = New LinearGradientBrush(bounds, gradientBegin, gradientEnd, LinearGradientMode.Vertical)
      Try
         g.FillRectangle(b, bounds)
      Finally
         b.Dispose()
      End Try
      
      e.Graphics.DrawRectangle(SystemPens.ControlDarkDark, bounds)
      
      g.DrawLine(SystemPens.ControlDarkDark, bounds.X, bounds.Y, bounds.Width - 1, bounds.Y)
      
      g.DrawLine(SystemPens.ControlDarkDark, bounds.X, bounds.Y, bounds.X, bounds.Height - 1)
      
      Dim toolStrip As ToolStrip = button.Owner
         Dim nextItem As ToolStripButton = CType(button.Owner.GetItemAt(button.Bounds.X, button.Bounds.Bottom + 1), ToolStripButton)
      
      If nextItem Is Nothing Then
         g.DrawLine(SystemPens.ControlDarkDark, bounds.X, bounds.Height - 1, bounds.X + bounds.Width - 1, bounds.Height - 1)
      End If
     End Sub
 End Class

Hinweise

ToolStripProfessionalRenderer erstellt Stifte und Pinsel basierend auf einer austauschbaren Farbtabelle namens ProfessionalColorTable.

Konstruktoren

Name Beschreibung
ToolStripProfessionalRenderer()

Initialisiert eine neue Instanz der ToolStripProfessionalRenderer-Klasse.

ToolStripProfessionalRenderer(ProfessionalColorTable)

Initialisiert eine neue Instanz der ToolStripProfessionalRenderer-Klasse.

Eigenschaften

Name Beschreibung
ColorTable

Ruft die Farbpalette ab, die für die Malerei verwendet wird.

RoundedEdges

Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob Ränder von Steuerelementen eine abgerundete anstelle einer quadratischen oder scharfen Darstellung aufweisen.

Methoden

Name Beschreibung
DrawArrow(ToolStripArrowRenderEventArgs)

Zeichnet einen Pfeil auf einem ToolStripItem.

(Geerbt von ToolStripRenderer)
DrawButtonBackground(ToolStripItemRenderEventArgs)

Zeichnet den Hintergrund für ein ToolStripButton.

(Geerbt von ToolStripRenderer)
DrawDropDownButtonBackground(ToolStripItemRenderEventArgs)

Zeichnet den Hintergrund für ein ToolStripDropDownButton.

(Geerbt von ToolStripRenderer)
DrawGrip(ToolStripGripRenderEventArgs)

Zeichnet einen Bewegungsziehpunkt auf einem ToolStrip.

(Geerbt von ToolStripRenderer)
DrawImageMargin(ToolStripRenderEventArgs)

Zeichnet den Abstand um ein Bild auf einem ToolStrip.

(Geerbt von ToolStripRenderer)
DrawItemBackground(ToolStripItemRenderEventArgs)

Zeichnet den Hintergrund für ein ToolStripItem.

(Geerbt von ToolStripRenderer)
DrawItemCheck(ToolStripItemImageRenderEventArgs)

Zeichnet ein Bild auf einem ToolStripItem Element, das angibt, dass sich das Element in einem ausgewählten Zustand befindet.

(Geerbt von ToolStripRenderer)
DrawItemImage(ToolStripItemImageRenderEventArgs)

Zeichnet ein Bild auf einem ToolStripItem.

(Geerbt von ToolStripRenderer)
DrawItemText(ToolStripItemTextRenderEventArgs)

Zeichnet Text auf einem ToolStripItem.

(Geerbt von ToolStripRenderer)
DrawLabelBackground(ToolStripItemRenderEventArgs)

Zeichnet den Hintergrund für ein ToolStripLabel.

(Geerbt von ToolStripRenderer)
DrawMenuItemBackground(ToolStripItemRenderEventArgs)

Zeichnet den Hintergrund für ein ToolStripMenuItem.

(Geerbt von ToolStripRenderer)
DrawOverflowButtonBackground(ToolStripItemRenderEventArgs)

Zeichnet den Hintergrund für eine Überlaufschaltfläche.

(Geerbt von ToolStripRenderer)
DrawSeparator(ToolStripSeparatorRenderEventArgs)

Zeichnet ein ToolStripSeparator.

(Geerbt von ToolStripRenderer)
DrawSplitButton(ToolStripItemRenderEventArgs)

Zeichnet ein ToolStripSplitButton.

(Geerbt von ToolStripRenderer)
DrawStatusStripSizingGrip(ToolStripRenderEventArgs)

Zeichnet einen Ziehgriff.

(Geerbt von ToolStripRenderer)
DrawToolStripBackground(ToolStripRenderEventArgs)

Zeichnet den Hintergrund für ein ToolStrip.

(Geerbt von ToolStripRenderer)
DrawToolStripBorder(ToolStripRenderEventArgs)

Zeichnet den Rahmen für ein ToolStrip.

(Geerbt von ToolStripRenderer)
DrawToolStripContentPanelBackground(ToolStripContentPanelRenderEventArgs)

Zeichnet den Hintergrund der ToolStripContentPanel.

(Geerbt von ToolStripRenderer)
DrawToolStripPanelBackground(ToolStripPanelRenderEventArgs)

Zeichnet den Hintergrund der ToolStripPanel.

(Geerbt von ToolStripRenderer)
DrawToolStripStatusLabelBackground(ToolStripItemRenderEventArgs)

Zeichnet den Hintergrund der ToolStripStatusLabel.

(Geerbt von ToolStripRenderer)
Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Dient als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft die Type der aktuellen Instanz ab.

(Geerbt von Object)
Initialize(ToolStrip)

Wenn eine abgeleitete Klasse überschrieben wird, wird die benutzerdefinierte Initialisierung des angegebenen ToolStripTyps bereitgestellt.

(Geerbt von ToolStripRenderer)
InitializeContentPanel(ToolStripContentPanel)

Initialisiert die angegebene ToolStripContentPanel.

(Geerbt von ToolStripRenderer)
InitializeItem(ToolStripItem)

Wenn eine abgeleitete Klasse überschrieben wird, wird die benutzerdefinierte Initialisierung des angegebenen ToolStripItemTyps bereitgestellt.

(Geerbt von ToolStripRenderer)
InitializePanel(ToolStripPanel)

Initialisiert die angegebene ToolStripPanel.

(Geerbt von ToolStripRenderer)
MemberwiseClone()

Erstellt eine flache Kopie der aktuellen Object.

(Geerbt von Object)
OnRenderArrow(ToolStripArrowRenderEventArgs)

Löst das RenderArrow-Ereignis aus.

OnRenderButtonBackground(ToolStripItemRenderEventArgs)

Löst das RenderButtonBackground-Ereignis aus.

OnRenderDropDownButtonBackground(ToolStripItemRenderEventArgs)

Löst das RenderDropDownButtonBackground-Ereignis aus.

OnRenderGrip(ToolStripGripRenderEventArgs)

Löst das RenderGrip-Ereignis aus.

OnRenderImageMargin(ToolStripRenderEventArgs)

Zeichnet den Elementhintergrund.

OnRenderItemBackground(ToolStripItemRenderEventArgs)

Löst das OnRenderItemBackground(ToolStripItemRenderEventArgs)-Ereignis aus.

(Geerbt von ToolStripRenderer)
OnRenderItemCheck(ToolStripItemImageRenderEventArgs)

Löst das RenderItemCheck-Ereignis aus.

OnRenderItemImage(ToolStripItemImageRenderEventArgs)

Löst das RenderItemImage-Ereignis aus.

OnRenderItemText(ToolStripItemTextRenderEventArgs)

Löst das RenderItemText-Ereignis aus.

OnRenderLabelBackground(ToolStripItemRenderEventArgs)

Löst das RenderLabelBackground-Ereignis aus.

OnRenderMenuItemBackground(ToolStripItemRenderEventArgs)

Löst das RenderMenuItemBackground-Ereignis aus.

OnRenderOverflowButtonBackground(ToolStripItemRenderEventArgs)

Löst das RenderOverflowButtonBackground-Ereignis aus.

OnRenderSeparator(ToolStripSeparatorRenderEventArgs)

Löst das RenderSeparator-Ereignis aus.

OnRenderSplitButtonBackground(ToolStripItemRenderEventArgs)

Löst das OnRenderSplitButtonBackground-Ereignis aus.

OnRenderStatusStripSizingGrip(ToolStripRenderEventArgs)

Löst das RenderStatusStripSizingGrip-Ereignis aus.

(Geerbt von ToolStripRenderer)
OnRenderToolStripBackground(ToolStripRenderEventArgs)

Löst das RenderToolStripBackground-Ereignis aus.

OnRenderToolStripBorder(ToolStripRenderEventArgs)

Löst das RenderToolStripBorder-Ereignis aus.

OnRenderToolStripContentPanelBackground(ToolStripContentPanelRenderEventArgs)

Löst das RenderToolStripContentPanelBackground-Ereignis aus.

OnRenderToolStripPanelBackground(ToolStripPanelRenderEventArgs)

Löst das RenderToolStripPanelBackground-Ereignis aus.

OnRenderToolStripStatusLabelBackground(ToolStripItemRenderEventArgs)

Löst das RenderToolStripStatusLabelBackground-Ereignis aus.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Ereignisse

Name Beschreibung
RenderArrow

Tritt auf, wenn ein Pfeil auf einem ToolStripItem Gerendert wird.

(Geerbt von ToolStripRenderer)
RenderButtonBackground

Tritt auf, wenn der Hintergrund für ein ToolStripButton Rendern gerendert wird.

(Geerbt von ToolStripRenderer)
RenderDropDownButtonBackground

Tritt auf, wenn der Hintergrund für ein ToolStripDropDownButton Rendern gerendert wird.

(Geerbt von ToolStripRenderer)
RenderGrip

Tritt auf, wenn der Ziehpunkt für ein ToolStrip Rendern gerendert wird.

(Geerbt von ToolStripRenderer)
RenderImageMargin

Zeichnet den Rand zwischen einem Image und seinem Container.

(Geerbt von ToolStripRenderer)
RenderItemBackground

Tritt auf, wenn der Hintergrund für ein ToolStripItem Rendern gerendert wird.

(Geerbt von ToolStripRenderer)
RenderItemCheck

Tritt auf, wenn das Bild für ein ausgewähltes ToolStripItem Gerendert wird.

(Geerbt von ToolStripRenderer)
RenderItemImage

Tritt auf, wenn das Bild für ein ToolStripItem Bild gerendert wird.

(Geerbt von ToolStripRenderer)
RenderItemText

Tritt auf, wenn der Text für einen ToolStripItem gerendert wird.

(Geerbt von ToolStripRenderer)
RenderLabelBackground

Tritt auf, wenn der Hintergrund für ein ToolStripLabel Rendern gerendert wird.

(Geerbt von ToolStripRenderer)
RenderMenuItemBackground

Tritt auf, wenn der Hintergrund für ein ToolStripMenuItem Rendern gerendert wird.

(Geerbt von ToolStripRenderer)
RenderOverflowButtonBackground

Tritt auf, wenn der Hintergrund für eine Überlaufschaltfläche gerendert wird.

(Geerbt von ToolStripRenderer)
RenderSeparator

Tritt auf, wenn ein ToolStripSeparator Gerendert wird.

(Geerbt von ToolStripRenderer)
RenderSplitButtonBackground

Tritt auf, wenn der Hintergrund für ein ToolStripSplitButton Rendern gerendert wird.

(Geerbt von ToolStripRenderer)
RenderStatusStripSizingGrip

Tritt auf, wenn sich die Anzeigeformatvorlage ändert.

(Geerbt von ToolStripRenderer)
RenderToolStripBackground

Tritt auf, wenn der Hintergrund für ein ToolStrip Rendern gerendert wird.

(Geerbt von ToolStripRenderer)
RenderToolStripBorder

Tritt auf, wenn der Rahmen für ein ToolStrip Gerendert wird.

(Geerbt von ToolStripRenderer)
RenderToolStripContentPanelBackground

Zeichnet den Hintergrund einer .ToolStripContentPanel

(Geerbt von ToolStripRenderer)
RenderToolStripPanelBackground

Zeichnet den Hintergrund einer .ToolStripPanel

(Geerbt von ToolStripRenderer)
RenderToolStripStatusLabelBackground

Zeichnet den Hintergrund einer .ToolStripStatusLabel

(Geerbt von ToolStripRenderer)

Gilt für: