Bagikan melalui


ToolStripProfessionalRenderer Kelas

Definisi

Menangani fungsionalitas lukisan untuk ToolStrip objek, menerapkan palet kustom dan gaya yang disederhanakan.

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
Warisan
ToolStripProfessionalRenderer

Contoh

Contoh kode berikut menunjukkan cara membuat kontrol komposit yang menirukan Panel Navigasi yang disediakan oleh Microsoft® Outlook®. Untuk daftar kode lengkap, lihat Cara: Membuat Kontrol ToolStrip Bergaya Profesional.

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

Keterangan

ToolStripProfessionalRenderer membuat pena dan kuas berdasarkan tabel warna yang dapat diganti yang disebut ProfessionalColorTable.

Konstruktor

ToolStripProfessionalRenderer()

Menginisialisasi instans baru kelas ToolStripProfessionalRenderer.

ToolStripProfessionalRenderer(ProfessionalColorTable)

Menginisialisasi instans baru kelas ToolStripProfessionalRenderer.

Properti

ColorTable

Mendapatkan palet warna yang digunakan untuk melukis.

RoundedEdges

Mendapatkan atau menetapkan nilai yang menunjukkan apakah tepi kontrol memiliki tampilan bulat daripada persegi atau tajam.

Metode

DrawArrow(ToolStripArrowRenderEventArgs)

Menggambar panah pada ToolStripItem.

(Diperoleh dari ToolStripRenderer)
DrawButtonBackground(ToolStripItemRenderEventArgs)

Menggambar latar belakang untuk ToolStripButton.

(Diperoleh dari ToolStripRenderer)
DrawDropDownButtonBackground(ToolStripItemRenderEventArgs)

Menggambar latar belakang untuk ToolStripDropDownButton.

(Diperoleh dari ToolStripRenderer)
DrawGrip(ToolStripGripRenderEventArgs)

Menggambar handel pemindahan ToolStrippada .

(Diperoleh dari ToolStripRenderer)
DrawImageMargin(ToolStripRenderEventArgs)

Menggambar ruang di sekitar gambar pada ToolStrip.

(Diperoleh dari ToolStripRenderer)
DrawItemBackground(ToolStripItemRenderEventArgs)

Menggambar latar belakang untuk ToolStripItem.

(Diperoleh dari ToolStripRenderer)
DrawItemCheck(ToolStripItemImageRenderEventArgs)

Menggambar gambar pada ToolStripItem yang menunjukkan item berada dalam status terpilih.

(Diperoleh dari ToolStripRenderer)
DrawItemImage(ToolStripItemImageRenderEventArgs)

Menggambar gambar pada ToolStripItem.

(Diperoleh dari ToolStripRenderer)
DrawItemText(ToolStripItemTextRenderEventArgs)

Menggambar teks pada ToolStripItem.

(Diperoleh dari ToolStripRenderer)
DrawLabelBackground(ToolStripItemRenderEventArgs)

Menggambar latar belakang untuk ToolStripLabel.

(Diperoleh dari ToolStripRenderer)
DrawMenuItemBackground(ToolStripItemRenderEventArgs)

Menggambar latar belakang untuk ToolStripMenuItem.

(Diperoleh dari ToolStripRenderer)
DrawOverflowButtonBackground(ToolStripItemRenderEventArgs)

Menggambar latar belakang untuk tombol luapan.

(Diperoleh dari ToolStripRenderer)
DrawSeparator(ToolStripSeparatorRenderEventArgs)

ToolStripSeparatorMenggambar .

(Diperoleh dari ToolStripRenderer)
DrawSplitButton(ToolStripItemRenderEventArgs)

ToolStripSplitButtonMenggambar .

(Diperoleh dari ToolStripRenderer)
DrawStatusStripSizingGrip(ToolStripRenderEventArgs)

Menarik pegangan ukuran.

(Diperoleh dari ToolStripRenderer)
DrawToolStripBackground(ToolStripRenderEventArgs)

Menggambar latar belakang untuk ToolStrip.

(Diperoleh dari ToolStripRenderer)
DrawToolStripBorder(ToolStripRenderEventArgs)

Menggambar batas untuk .ToolStrip

(Diperoleh dari ToolStripRenderer)
DrawToolStripContentPanelBackground(ToolStripContentPanelRenderEventArgs)

Menggambar latar belakang ToolStripContentPanel.

(Diperoleh dari ToolStripRenderer)
DrawToolStripPanelBackground(ToolStripPanelRenderEventArgs)

Menggambar latar belakang ToolStripPanel.

(Diperoleh dari ToolStripRenderer)
DrawToolStripStatusLabelBackground(ToolStripItemRenderEventArgs)

Menggambar latar belakang ToolStripStatusLabel.

(Diperoleh dari ToolStripRenderer)
Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetType()

Mendapatkan dari instans Type saat ini.

(Diperoleh dari Object)
Initialize(ToolStrip)

Ketika ditimpa di kelas turunan, menyediakan inisialisasi kustom dari yang diberikan ToolStrip.

(Diperoleh dari ToolStripRenderer)
InitializeContentPanel(ToolStripContentPanel)

Menginisialisasi yang ditentukan ToolStripContentPanel.

(Diperoleh dari ToolStripRenderer)
InitializeItem(ToolStripItem)

Ketika ditimpa di kelas turunan, menyediakan inisialisasi kustom dari yang diberikan ToolStripItem.

(Diperoleh dari ToolStripRenderer)
InitializePanel(ToolStripPanel)

Menginisialisasi yang ditentukan ToolStripPanel.

(Diperoleh dari ToolStripRenderer)
MemberwiseClone()

Membuat salinan dangkal dari saat ini Object.

(Diperoleh dari Object)
OnRenderArrow(ToolStripArrowRenderEventArgs)

Memunculkan kejadian RenderArrow.

OnRenderButtonBackground(ToolStripItemRenderEventArgs)

Memunculkan kejadian RenderButtonBackground.

OnRenderDropDownButtonBackground(ToolStripItemRenderEventArgs)

Memunculkan kejadian RenderDropDownButtonBackground.

OnRenderGrip(ToolStripGripRenderEventArgs)

Memunculkan kejadian RenderGrip.

OnRenderImageMargin(ToolStripRenderEventArgs)

Gambar latar belakang item.

OnRenderItemBackground(ToolStripItemRenderEventArgs)

Memunculkan kejadian OnRenderItemBackground(ToolStripItemRenderEventArgs).

(Diperoleh dari ToolStripRenderer)
OnRenderItemCheck(ToolStripItemImageRenderEventArgs)

Memunculkan kejadian RenderItemCheck.

OnRenderItemImage(ToolStripItemImageRenderEventArgs)

Memunculkan kejadian RenderItemImage.

OnRenderItemText(ToolStripItemTextRenderEventArgs)

Memunculkan kejadian RenderItemText.

OnRenderLabelBackground(ToolStripItemRenderEventArgs)

Memunculkan kejadian RenderLabelBackground.

OnRenderMenuItemBackground(ToolStripItemRenderEventArgs)

Memunculkan kejadian RenderMenuItemBackground.

OnRenderOverflowButtonBackground(ToolStripItemRenderEventArgs)

Memunculkan kejadian RenderOverflowButtonBackground.

OnRenderSeparator(ToolStripSeparatorRenderEventArgs)

Memunculkan kejadian RenderSeparator.

OnRenderSplitButtonBackground(ToolStripItemRenderEventArgs)

Menaikkan peristiwa OnRenderSplitButtonBackground.

OnRenderStatusStripSizingGrip(ToolStripRenderEventArgs)

Memunculkan kejadian RenderStatusStripSizingGrip.

(Diperoleh dari ToolStripRenderer)
OnRenderToolStripBackground(ToolStripRenderEventArgs)

Memunculkan kejadian RenderToolStripBackground.

OnRenderToolStripBorder(ToolStripRenderEventArgs)

Memunculkan kejadian RenderToolStripBorder.

OnRenderToolStripContentPanelBackground(ToolStripContentPanelRenderEventArgs)

Memunculkan kejadian RenderToolStripContentPanelBackground.

OnRenderToolStripPanelBackground(ToolStripPanelRenderEventArgs)

Memunculkan kejadian RenderToolStripPanelBackground.

OnRenderToolStripStatusLabelBackground(ToolStripItemRenderEventArgs)

Memunculkan kejadian RenderToolStripStatusLabelBackground.

ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)

Acara

RenderArrow

Terjadi ketika panah pada dirender ToolStripItem .

(Diperoleh dari ToolStripRenderer)
RenderButtonBackground

Terjadi ketika latar belakang untuk dirender ToolStripButton .

(Diperoleh dari ToolStripRenderer)
RenderDropDownButtonBackground

Terjadi ketika latar belakang untuk dirender ToolStripDropDownButton .

(Diperoleh dari ToolStripRenderer)
RenderGrip

Terjadi ketika handel pemindahan untuk ToolStrip dirender.

(Diperoleh dari ToolStripRenderer)
RenderImageMargin

Menggambar margin antara gambar dan kontainernya.

(Diperoleh dari ToolStripRenderer)
RenderItemBackground

Terjadi ketika latar belakang untuk dirender ToolStripItem .

(Diperoleh dari ToolStripRenderer)
RenderItemCheck

Terjadi ketika gambar untuk yang dipilih ToolStripItem dirender.

(Diperoleh dari ToolStripRenderer)
RenderItemImage

Terjadi ketika gambar untuk dirender ToolStripItem .

(Diperoleh dari ToolStripRenderer)
RenderItemText

Terjadi ketika teks untuk dirender ToolStripItem .

(Diperoleh dari ToolStripRenderer)
RenderLabelBackground

Terjadi ketika latar belakang untuk dirender ToolStripLabel .

(Diperoleh dari ToolStripRenderer)
RenderMenuItemBackground

Terjadi ketika latar belakang untuk dirender ToolStripMenuItem .

(Diperoleh dari ToolStripRenderer)
RenderOverflowButtonBackground

Terjadi ketika latar belakang untuk tombol luapan dirender.

(Diperoleh dari ToolStripRenderer)
RenderSeparator

Terjadi ketika dirender ToolStripSeparator .

(Diperoleh dari ToolStripRenderer)
RenderSplitButtonBackground

Terjadi ketika latar belakang untuk dirender ToolStripSplitButton .

(Diperoleh dari ToolStripRenderer)
RenderStatusStripSizingGrip

Terjadi ketika gaya tampilan berubah.

(Diperoleh dari ToolStripRenderer)
RenderToolStripBackground

Terjadi ketika latar belakang untuk dirender ToolStrip .

(Diperoleh dari ToolStripRenderer)
RenderToolStripBorder

Terjadi ketika batas untuk dirender ToolStrip .

(Diperoleh dari ToolStripRenderer)
RenderToolStripContentPanelBackground

Menggambar latar belakang ToolStripContentPaneldari .

(Diperoleh dari ToolStripRenderer)
RenderToolStripPanelBackground

Menggambar latar belakang ToolStripPaneldari .

(Diperoleh dari ToolStripRenderer)
RenderToolStripStatusLabelBackground

Menggambar latar belakang ToolStripStatusLabeldari .

(Diperoleh dari ToolStripRenderer)

Berlaku untuk