クリックして評価とフィードバックをお寄せください
MSDN
MSDN ライブラリ
.NET 開発
.NET Framework 3.5
.NET Framework 3.5
System.Windows.Forms 名前空間
ToolStripManager クラス
ToolStripManager プロパティ
 Renderer プロパティ

  低帯域幅での表示をオンにする
このページは次のバージョンについて記述しています。
Microsoft Visual Studio 2008/.NET Framework 3.5

その他のバージョンについては、以下の情報を参照してください。
.NET Framework クラス ライブラリ
ToolStripManager..::.Renderer プロパティ

更新 : 2007 年 11 月

フォームの既定の描画スタイルを取得または設定します。

名前空間 :  System.Windows.Forms
アセンブリ :  System.Windows.Forms (System.Windows.Forms.dll 内)

Visual Basic (宣言)
Public Shared Property Renderer As ToolStripRenderer
Visual Basic (使用法)
Dim value As ToolStripRenderer

value = ToolStripManager.Renderer

ToolStripManager.Renderer = value
C#
public static ToolStripRenderer Renderer { get; set; }
Visual C++
public:
static property ToolStripRenderer^ Renderer {
    ToolStripRenderer^ get ();
    void set (ToolStripRenderer^ value);
}
J#
/** @property */
public static ToolStripRenderer get_Renderer()
/** @property */
public static  void set_Renderer(ToolStripRenderer value)
JScript
public static function get Renderer () : ToolStripRenderer
public static function set Renderer (value : ToolStripRenderer)

プロパティ値

型 : System.Windows.Forms..::.ToolStripRenderer

ToolStripRenderer 値の 1 つ。

この Renderer プロパティは、現在の ToolStripRenderMode プロパティが ManagerRenderMode に設定されている場合に使用されます。

個々の ToolStrip またはアプリケーション全体に対して、カスタムのプロフェッショナル レンダラを適用する方法を次のコード例に示します。

Visual Basic
' This example demonstrates how to apply a 
' custom professional renderer to an individual
' ToolStrip or to the application as a whole.
Class Form6
   Inherits Form
   Private targetComboBox As New ComboBox()


    Public Sub New()

        ' Alter the renderer at the top level.
        ' Create and populate a new ToolStrip control.
        Dim ts As New ToolStrip()
        ts.Name = "ToolStrip"
        ts.Items.Add("Apples")
        ts.Items.Add("Oranges")
        ts.Items.Add("Pears")

        ' Create a new menustrip with a new window.
        Dim ms As New MenuStrip()
        ms.Name = "MenuStrip"
        ms.Dock = DockStyle.Top

        ' add top level items
        Dim fileMenuItem As New ToolStripMenuItem("File")
        ms.Items.Add(fileMenuItem)
        ms.Items.Add("Edit")
        ms.Items.Add("View")
        ms.Items.Add("Window")

        ' Add subitems to the "File" menu.
        fileMenuItem.DropDownItems.Add("Open")
        fileMenuItem.DropDownItems.Add("Save")
        fileMenuItem.DropDownItems.Add("Save As...")
        fileMenuItem.DropDownItems.Add("-")
        fileMenuItem.DropDownItems.Add("Exit")

        ' Add a Button control to apply renderers.
        Dim applyButton As New Button()
        applyButton.Text = "Apply Custom Renderer"
        AddHandler applyButton.Click, AddressOf applyButton_Click

        ' Add the ComboBox control for choosing how
        ' to apply the renderers.
        targetComboBox.Items.Add("All")
        targetComboBox.Items.Add("MenuStrip")
        targetComboBox.Items.Add("ToolStrip")
        targetComboBox.Items.Add("Reset")

        ' Create and set up a TableLayoutPanel control.
        Dim tlp As New TableLayoutPanel()
        tlp.Dock = DockStyle.Fill
        tlp.RowCount = 1
        tlp.ColumnCount = 2
        tlp.ColumnStyles.Add(New ColumnStyle(SizeType.AutoSize))
        tlp.ColumnStyles.Add(New ColumnStyle(SizeType.Percent))
        tlp.Controls.Add(applyButton)
        tlp.Controls.Add(targetComboBox)

        ' Create a GroupBox for the TableLayoutPanel control.
        Dim gb As New GroupBox()
        gb.Text = "Apply Renderers"
        gb.Dock = DockStyle.Fill
        gb.Controls.Add(tlp)

        ' Add the GroupBox to the form.
        Me.Controls.Add(gb)

        ' Add the ToolStrip to the form's Controls collection.
        Me.Controls.Add(ts)

        ' Add the MenuStrip control last.
        ' This is important for correct placement in the z-order.
        Me.Controls.Add(ms)
    End Sub

    ' This event handler is invoked when 
    ' the "Apply Renderers" button is clicked.
    ' Depending on the value selected in a ComboBox 
    ' control, it applies a custom renderer selectively
    ' to individual MenuStrip or ToolStrip controls,
    ' or it applies a custom renderer to the 
    ' application as a whole.
    Sub applyButton_Click(ByVal sender As Object, ByVal e As EventArgs)
        Dim ms As ToolStrip = ToolStripManager.FindToolStrip("MenuStrip")
        Dim ts As ToolStrip = ToolStripManager.FindToolStrip("ToolStrip")

        If targetComboBox.SelectedItem IsNot Nothing Then

            Select Case targetComboBox.SelectedItem.ToString()
                Case "Reset"
                    ms.RenderMode = ToolStripRenderMode.ManagerRenderMode
                    ts.RenderMode = ToolStripRenderMode.ManagerRenderMode

                    ' Set the default RenderMode to Professional.
                    ToolStripManager.RenderMode = ToolStripManagerRenderMode.Professional

                    Exit Select

                Case "All"
                    ms.RenderMode = ToolStripRenderMode.ManagerRenderMode
                    ts.RenderMode = ToolStripRenderMode.ManagerRenderMode

                    ' Assign the custom renderer at the application level.
                    ToolStripManager.Renderer = New CustomProfessionalRenderer()

                    Exit Select

                Case "MenuStrip"
                    ' Assign the custom renderer to the MenuStrip control only.
                    ms.Renderer = New CustomProfessionalRenderer()

                    Exit Select

                Case "ToolStrip"
                    ' Assign the custom renderer to the ToolStrip control only.
                    ts.Renderer = New CustomProfessionalRenderer()

                    Exit Select
            End Select

        End If
    End Sub
End Class

' This type demonstrates a custom renderer. It overrides the
' OnRenderMenuItemBackground and OnRenderButtonBackground methods
' to customize the backgrounds of MenuStrip items and ToolStrip buttons.
Class CustomProfessionalRenderer
   Inherits ToolStripProfessionalRenderer

   Protected Overrides Sub OnRenderMenuItemBackground(e As ToolStripItemRenderEventArgs)
      If e.Item.Selected Then
         Dim b = New SolidBrush(ProfessionalColors.SeparatorLight)
         Try
            e.Graphics.FillEllipse(b, e.Item.ContentRectangle)
         Finally
            b.Dispose()
         End Try
      Else
         Dim p As New Pen(ProfessionalColors.SeparatorLight)
         Try
            e.Graphics.DrawEllipse(p, e.Item.ContentRectangle)
         Finally
            p.Dispose()
         End Try
      End If
    End Sub

   Protected Overrides Sub OnRenderButtonBackground(e As ToolStripItemRenderEventArgs)
      Dim r As Rectangle = Rectangle.Inflate(e.Item.ContentRectangle, - 2, - 2)

      If e.Item.Selected Then
         Dim b = New SolidBrush(ProfessionalColors.SeparatorLight)
         Try
            e.Graphics.FillRectangle(b, r)
         Finally
            b.Dispose()
         End Try
      Else
         Dim p As New Pen(ProfessionalColors.SeparatorLight)
         Try
            e.Graphics.DrawRectangle(p, r)
         Finally
            p.Dispose()
         End Try
      End If
    End Sub
End Class

C#
// This example demonstrates how to apply a 
// custom professional renderer to an individual
// ToolStrip or to the application as a whole.
class Form6 : Form
{
    ComboBox targetComboBox = new ComboBox();

    public Form6()
    {
        // Alter the renderer at the top level.

        // Create and populate a new ToolStrip control.
        ToolStrip ts = new ToolStrip();
        ts.Name = "ToolStrip";
        ts.Items.Add("Apples");
        ts.Items.Add("Oranges");
        ts.Items.Add("Pears");

        // Create a new menustrip with a new window.
        MenuStrip ms = new MenuStrip();
        ms.Name = "MenuStrip";
        ms.Dock = DockStyle.Top;

        // add top level items
        ToolStripMenuItem fileMenuItem = new ToolStripMenuItem("File");
        ms.Items.Add(fileMenuItem);
        ms.Items.Add("Edit");
        ms.Items.Add("View");
        ms.Items.Add("Window");

        // Add subitems to the "File" menu.
        fileMenuItem.DropDownItems.Add("Open");
        fileMenuItem.DropDownItems.Add("Save");
        fileMenuItem.DropDownItems.Add("Save As...");
        fileMenuItem.DropDownItems.Add("-");
        fileMenuItem.DropDownItems.Add("Exit");

        // Add a Button control to apply renderers.
        Button applyButton = new Button();
        applyButton.Text = "Apply Custom Renderer";
        applyButton.Click += new EventHandler(applyButton_Click);

        // Add the ComboBox control for choosing how
        // to apply the renderers.
        targetComboBox.Items.Add("All");
        targetComboBox.Items.Add("MenuStrip");
        targetComboBox.Items.Add("ToolStrip");
        targetComboBox.Items.Add("Reset");

        // Create and set up a TableLayoutPanel control.
        TableLayoutPanel tlp = new TableLayoutPanel();
        tlp.Dock = DockStyle.Fill;
        tlp.RowCount = 1;
        tlp.ColumnCount = 2;
        tlp.ColumnStyles.Add(new ColumnStyle(SizeType.AutoSize));
        tlp.ColumnStyles.Add(new ColumnStyle(SizeType.Percent));
        tlp.Controls.Add(applyButton);
        tlp.Controls.Add(targetComboBox);

        // Create a GroupBox for the TableLayoutPanel control.
        GroupBox gb = new GroupBox();
        gb.Text = "Apply Renderers";
        gb.Dock = DockStyle.Fill;
        gb.Controls.Add(tlp);

        // Add the GroupBox to the form.
        this.Controls.Add(gb);

        // Add the ToolStrip to the form's Controls collection.
        this.Controls.Add(ts);

        // Add the MenuStrip control last.
        // This is important for correct placement in the z-order.
        this.Controls.Add(ms);
    }

    // This event handler is invoked when 
    // the "Apply Renderers" button is clicked.
    // Depending on the value selected in a ComboBox control,
    // it applies a custom renderer selectively to
    // individual MenuStrip or ToolStrip controls,
    // or it applies a custom renderer to the 
    // application as a whole.
    void applyButton_Click(object sender, EventArgs e)
    {
        ToolStrip ms = ToolStripManager.FindToolStrip("MenuStrip");
        ToolStrip ts = ToolStripManager.FindToolStrip("ToolStrip");

        if (targetComboBox.SelectedItem != null)
        {
            switch (targetComboBox.SelectedItem.ToString())
            {
                case "Reset":
                {
                    ms.RenderMode = ToolStripRenderMode.ManagerRenderMode;
                    ts.RenderMode = ToolStripRenderMode.ManagerRenderMode;

                    // Set the default RenderMode to Professional.
                    ToolStripManager.RenderMode = ToolStripManagerRenderMode.Professional;

                    break;
                }

                case "All":
                {
                    ms.RenderMode = ToolStripRenderMode.ManagerRenderMode;
                    ts.RenderMode = ToolStripRenderMode.ManagerRenderMode;

                    // Assign the custom renderer at the application level.
                    ToolStripManager.Renderer = new CustomProfessionalRenderer();

                    break;
                }

                case "MenuStrip":
                {
                    // Assign the custom renderer to the MenuStrip control only.
                    ms.Renderer = new CustomProfessionalRenderer();

                    break;
                }

                case "ToolStrip":
                {
                    // Assign the custom renderer to the ToolStrip control only.
                    ts.Renderer = new CustomProfessionalRenderer();

                    break;
                }
            }
        }
    }
}

// This type demonstrates a custom renderer. It overrides the
// OnRenderMenuItemBackground and OnRenderButtonBackground methods
// to customize the backgrounds of MenuStrip items and ToolStrip buttons.
class CustomProfessionalRenderer : ToolStripProfessionalRenderer
{
    protected override void OnRenderMenuItemBackground(ToolStripItemRenderEventArgs e)
    {
        if (e.Item.Selected)
        {
            using (Brush b = new SolidBrush(ProfessionalColors.SeparatorLight))
            {
                e.Graphics.FillEllipse(b, e.Item.ContentRectangle);
            }
        }
        else
        {
            using (Pen p = new Pen(ProfessionalColors.SeparatorLight))
            {
                e.Graphics.DrawEllipse(p, e.Item.ContentRectangle);
            }
        }
    }

    protected override void OnRenderButtonBackground(ToolStripItemRenderEventArgs e)
    {
        Rectangle r = Rectangle.Inflate(e.Item.ContentRectangle, -2, -2);

        if (e.Item.Selected)
        {
            using (Brush b = new SolidBrush(ProfessionalColors.SeparatorLight))
            {
                e.Graphics.FillRectangle(b, r);
            }
        }
        else
        {
            using (Pen p = new Pen(ProfessionalColors.SeparatorLight))
            {
                e.Graphics.DrawRectangle(p, r);
            }
        }
    }
}

Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

.NET Framework および .NET Compact Framework では、各プラットフォームのすべてのバージョンはサポートしていません。サポートされているバージョンについては、「.NET Framework システム要件」を参照してください。

.NET Framework

サポート対象 : 3.5、3.0、2.0
コミュニティ コンテンツ   コミュニティ コンテンツとは
新しいコンテンツの追加 RSS  注釈
Processing
© 2009 Microsoft Corporation. All rights reserved. 使用条件  |  商標  |  プライバシー
Page view tracker