ToolStripItem クラス

定義

ToolStrip または ToolStripDropDown に格納できるすべての要素のイベントおよびレイアウトを管理する抽象基本クラスを表します。Represents the abstract base class that manages events and layout for all the elements that a ToolStrip or ToolStripDropDown can contain.

public ref class ToolStripItem abstract : System::ComponentModel::Component, IDisposable, System::Windows::Forms::IDropTarget
public abstract class ToolStripItem : System.ComponentModel.Component, IDisposable, System.Windows.Forms.IDropTarget
type ToolStripItem = class
    inherit Component
    interface IDropTarget
    interface IComponent
    interface IDisposable
Public MustInherit Class ToolStripItem
Inherits Component
Implements IDisposable, IDropTarget
継承
派生
実装

次のコード例は、カスタムToolStripItemコントロールを実装する方法を示しています。The following code example demonstrates how to implement a custom ToolStripItem control.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Windows.Forms;

namespace RolloverItemDemoLib
{
    // This class implements a ToolStripItem that highlights
    // its border and text when the mouse enters its
    // client rectangle. It has a clickable state which is
    // exposed through the Clicked property and displayed
    // by highlighting or graying out the item's image. 
    public class RolloverItem : ToolStripItem
    {
        private bool clickedValue = false;
        private bool rolloverValue = false;

        private Rectangle imageRect;
        private Rectangle textRect;

        // For brevity, this implementation limits the possible 
        // TextDirection values to ToolStripTextDirection.Horizontal. 
        public override ToolStripTextDirection TextDirection
        {
            get
            {
                return base.TextDirection;
            }
            set
            {
                if (value == ToolStripTextDirection.Horizontal)
                {
                    base.TextDirection = value;
                }
                else
                {
                    throw new ArgumentException(
                        "RolloverItem supports only horizontal text.");
                }
            }
        }

        // For brevity, this implementation limits the possible 
        // TextImageRelation values to ImageBeforeText and TextBeforeImage. 
        public new TextImageRelation TextImageRelation
        {
            get
            {
                return base.TextImageRelation;
            }

            set
            {
                if (value == TextImageRelation.ImageBeforeText || 
                    value == TextImageRelation.TextBeforeImage)
                {
                    base.TextImageRelation = value;
                }
                else
                {
                    throw new ArgumentException(
                        "Unsupported TextImageRelation value.");
                }
            }
        }
        
        // This property returns true if the mouse is 
        // inside the client rectangle.
        public bool Rollover
        {
            get
            {
                return this.rolloverValue;
            }   
        }

        // This property returns true if the item 
        // has been toggled into the clicked state.
        // Clicking again toggles it to the 
        // unclicked state.
        public bool Clicked
        {
            get
            {
                return this.clickedValue;
            }
        }

        // The method defines the behavior of the Click event.
        // It simply toggles the state of the clickedValue field.
        protected override void OnClick(EventArgs e)
        {
            base.OnClick(e);

            this.clickedValue ^= true;
        }

        // The method defines the behavior of the DoubleClick 
        // event. It shows a MessageBox with the item's text.
        protected override void OnDoubleClick(EventArgs e)
        {
            base.OnDoubleClick(e);

            string msg = String.Format("Item: {0}", this.Text);

            MessageBox.Show(msg);
        }

        // This method defines the behavior of the MouseEnter event.
        // It sets the state of the rolloverValue field to true and
        // tells the control to repaint.
        protected override void OnMouseEnter(EventArgs e)
        {
            base.OnMouseEnter(e);

            this.rolloverValue = true;

            this.Invalidate();
        }

        // This method defines the behavior of the MouseLeave event.
        // It sets the state of the rolloverValue field to false and
        // tells the control to repaint.
        protected override void OnMouseLeave(EventArgs e)
        {
            base.OnMouseLeave(e);

            this.rolloverValue = false;

            this.Invalidate();
        }

        // This method defines the painting behavior of the control.
        // It performs the following operations:
        //
        // Computes the layout of the item's image and text.
        // Draws the item's background image.
        // Draws the item's image.
        // Draws the item's text.
        //
        // Drawing operations are implemented in the 
        // RolloverItemRenderer class.
        protected override void OnPaint(PaintEventArgs e)
        {
            base.OnPaint(e);

            if (this.Owner != null)
            {
                // Find the dimensions of the image and the text 
                // areas of the item. 
                this.ComputeImageAndTextLayout();

                // Draw the background. This includes drawing a highlighted 
                // border when the mouse is in the client area.
                ToolStripItemRenderEventArgs ea = new ToolStripItemRenderEventArgs(
                     e.Graphics,
                     this);
                this.Owner.Renderer.DrawItemBackground(ea);

                // Draw the item's image. 
                ToolStripItemImageRenderEventArgs irea =
                    new ToolStripItemImageRenderEventArgs(
                    e.Graphics,
                    this,
                    imageRect );
                this.Owner.Renderer.DrawItemImage(irea);

                // If the item is on a drop-down, give its
                // text a different highlighted color.
                Color highlightColor = 
                    this.IsOnDropDown ?
                    Color.Salmon : SystemColors.ControlLightLight;

                // Draw the text, and highlight it if the 
                // the rollover state is true.
                ToolStripItemTextRenderEventArgs rea =
                    new ToolStripItemTextRenderEventArgs(
                    e.Graphics,
                    this,
                    base.Text,
                    textRect,
                    this.rolloverValue ? highlightColor : base.ForeColor,
                    base.Font,
                    base.TextAlign);
                this.Owner.Renderer.DrawItemText(rea);
            }
        }

        // This utility method computes the layout of the 
        // RolloverItem control's image area and the text area.
        // For brevity, only the following settings are 
        // supported:
        //
        // ToolStripTextDirection.Horizontal
        // TextImageRelation.ImageBeforeText 
        // TextImageRelation.ImageBeforeText
        // 
        // It would not be difficult to support vertical text
        // directions and other image/text relationships.
        private void ComputeImageAndTextLayout()
        {
            Rectangle cr = base.ContentRectangle;
            Image img = base.Owner.ImageList.Images[base.ImageKey];

            // Compute the center of the item's ContentRectangle.
            int centerY = (cr.Height - img.Height) / 2;

            // Find the dimensions of the image and the text 
            // areas of the item. The text occupies the space 
            // not filled by the image. 
            if (base.TextImageRelation == TextImageRelation.ImageBeforeText &&
                base.TextDirection == ToolStripTextDirection.Horizontal)
            {
                imageRect = new Rectangle(
                    base.ContentRectangle.Left,
                    centerY,
                    base.Image.Width,
                    base.Image.Height);

                textRect = new Rectangle(
                    imageRect.Width,
                    base.ContentRectangle.Top,
                    base.ContentRectangle.Width - imageRect.Width,
                    base.ContentRectangle.Height);
            }
            else if (base.TextImageRelation == TextImageRelation.TextBeforeImage &&
                     base.TextDirection == ToolStripTextDirection.Horizontal)
            {
                imageRect = new Rectangle(
                    base.ContentRectangle.Right - base.Image.Width,
                    centerY,
                    base.Image.Width,
                    base.Image.Height);

                textRect = new Rectangle(
                    base.ContentRectangle.Left,
                    base.ContentRectangle.Top,
                    imageRect.X,
                    base.ContentRectangle.Bottom);
            }
        }
    }

    #region RolloverItemRenderer

    // This is the custom renderer for the RolloverItem control.
    // It draws a border around the item when the mouse is
    // in the item's client area. It also draws the item's image
    // in an inactive state (grayed out) until the user clicks
    // the item to toggle its "clicked" state.
    internal class RolloverItemRenderer : ToolStripSystemRenderer
    {
        protected override void OnRenderItemImage(
            ToolStripItemImageRenderEventArgs e)
        {
            base.OnRenderItemImage(e);

            RolloverItem item = e.Item as RolloverItem;

            // If the ToolSTripItem is of type RolloverItem, 
            // perform custom rendering for the image.
            if (item != null)
            {
                if (item.Clicked)
                {
                    // The item is in the clicked state, so 
                    // draw the image as usual.
                    e.Graphics.DrawImage(
                        e.Image,
                        e.ImageRectangle.X,
                        e.ImageRectangle.Y);
                }
                else
                {
                    // In the unclicked state, gray out the image.
                    ControlPaint.DrawImageDisabled(
                        e.Graphics,
                        e.Image,
                        e.ImageRectangle.X,
                        e.ImageRectangle.Y,
                        item.BackColor);
                }
            }
        }

        // This method defines the behavior for rendering the
        // background of a ToolStripItem. If the item is a
        // RolloverItem, it paints the item's BackgroundImage 
        // centered in the client area. If the mouse is in the 
        // item's client area, a border is drawn around it.
        // If the item is on a drop-down or if it is on the
        // overflow, a gradient is painted in the background.
        protected override void OnRenderItemBackground(
            ToolStripItemRenderEventArgs e)
        {
            base.OnRenderItemBackground(e);

            RolloverItem item = e.Item as RolloverItem;

            // If the ToolSTripItem is of type RolloverItem, 
            // perform custom rendering for the background.
            if (item != null)
            {
                if (item.Placement == ToolStripItemPlacement.Overflow ||
                    item.IsOnDropDown)
                {
                    using (LinearGradientBrush b = new LinearGradientBrush(
                        item.ContentRectangle,
                        Color.Salmon,
                        Color.DarkRed,
                        0f,
                        false))
                    {
                        e.Graphics.FillRectangle(b, item.ContentRectangle);
                    }
                }

                // The RolloverItem control only supports 
                // the ImageLayout.Center setting for the
                // BackgroundImage property.
                if (item.BackgroundImageLayout == ImageLayout.Center)
                {
                    // Get references to the item's ContentRectangle
                    // and BackgroundImage, for convenience.
                    Rectangle cr = item.ContentRectangle;
                    Image bgi = item.BackgroundImage;

                    // Compute the center of the item's ContentRectangle.
                    int centerX = (cr.Width - bgi.Width) / 2;
                    int centerY = (cr.Height - bgi.Height) / 2;

                    // If the item is selected, draw the background
                    // image as usual. Otherwise, draw it as disabled.
                    if (item.Selected)
                    {
                        e.Graphics.DrawImage(bgi, centerX, centerY);
                    }
                    else
                    {
                        ControlPaint.DrawImageDisabled(
                                e.Graphics,
                                bgi,
                                centerX,
                                centerY,
                                item.BackColor);
                    }
                }

                // If the item is in the rollover state, 
                // draw a border around it.
                if (item.Rollover)
                {
                    ControlPaint.DrawFocusRectangle(
                        e.Graphics,
                        item.ContentRectangle);
                }
            }
        }

    #endregion

    }

    // This form tests various features of the RolloverItem
    // control. RolloverItem conrols are created and added
    // to the form's ToolStrip. They are also created and 
    // added to a button's ContextMenuStrip. The behavior
    // of the RolloverItem control differs depending on 
    // the type of parent control.
    public class RolloverItemTestForm : Form
    {
        private System.Windows.Forms.ToolStrip toolStrip1;
        private System.Windows.Forms.Button button1;

        private string infoIconKey = "Information icon";
        private string handIconKey = "Hand icon";
        private string exclIconKey = "Exclamation icon";
        private string questionIconKey = "Question icon";
        private string warningIconKey = "Warning icon ";

        private System.ComponentModel.IContainer components = null;

        public RolloverItemTestForm()
        {
            InitializeComponent();

            // Set up the form's ToolStrip control.
            InitializeToolStrip();

            // Set up the ContextMenuStrip for the button.
            InitializeContextMenu();
        }

        // This utility method initializes the ToolStrip control's 
        // image list. For convenience, icons from the SystemIcons 
        // class are used for this demonstration, but any images
        // could be used.
        private void InitializeImageList(ToolStrip ts)
        {
            if (ts.ImageList == null)
            {
                ts.ImageList = new ImageList();
                ts.ImageList.ImageSize = SystemIcons.Exclamation.Size;

                ts.ImageList.Images.Add(
                    this.infoIconKey,
                    SystemIcons.Information);

                ts.ImageList.Images.Add(
                    this.handIconKey,
                    SystemIcons.Hand);

                ts.ImageList.Images.Add(
                    this.exclIconKey,
                    SystemIcons.Exclamation);

                ts.ImageList.Images.Add(
                    this.questionIconKey,
                    SystemIcons.Question);

                ts.ImageList.Images.Add(
                    this.warningIconKey,
                    SystemIcons.Warning);
            }
        }

        private void InitializeToolStrip()
        {
            this.InitializeImageList(this.toolStrip1);

            this.toolStrip1.Renderer = new RolloverItemRenderer();

            RolloverItem item = this.CreateRolloverItem(
                this.toolStrip1,
                "RolloverItem on ToolStrip",
                this.Font,
                infoIconKey,
                TextImageRelation.ImageBeforeText,
                exclIconKey);

            this.toolStrip1.Items.Add(item);

            item = this.CreateRolloverItem(
                this.toolStrip1,
                "RolloverItem on ToolStrip",
                this.Font,
                infoIconKey,
                TextImageRelation.ImageBeforeText,
                exclIconKey);

            this.toolStrip1.Items.Add(item);
        }

        private void InitializeContextMenu()
        {
            Font f = new System.Drawing.Font(
                "Arial",
                18f,
                FontStyle.Bold);

            ContextMenuStrip cms = new ContextMenuStrip();
            this.InitializeImageList(cms);

            cms.Renderer = new RolloverItemRenderer();
            cms.AutoSize = true;
            cms.ShowCheckMargin = false;
            cms.ShowImageMargin = false;

            RolloverItem item = this.CreateRolloverItem(
                cms,
                "RolloverItem on ContextMenuStrip",
                f,
                handIconKey,
                TextImageRelation.ImageBeforeText,
                exclIconKey);

            cms.Items.Add(item);

            item = this.CreateRolloverItem(
                cms,
                "Another RolloverItem on ContextMenuStrip",
                f,
                questionIconKey,
                TextImageRelation.ImageBeforeText,
                exclIconKey);

            cms.Items.Add(item);

            item = this.CreateRolloverItem(
                cms,
                "And another RolloverItem on ContextMenuStrip",
                f,
                warningIconKey,
                TextImageRelation.ImageBeforeText,
                exclIconKey);

            cms.Items.Add(item);

            cms.Closing += new ToolStripDropDownClosingEventHandler(cms_Closing);

            this.button1.ContextMenuStrip = cms;
        }

        // This method handles the ContextMenuStrip 
        // control's Closing event. It prevents the 
        // RolloverItem from closing the drop-down  
        // when the item is clicked.
        void cms_Closing(object sender, ToolStripDropDownClosingEventArgs e)
        {
            if (e.CloseReason == ToolStripDropDownCloseReason.ItemClicked)
            {
                e.Cancel = true;
            }
        }

        // This method handles the Click event for the button.
        // it selects the first item in the ToolStrip control
        // by using the ToolStripITem.Select method.
        private void button1_Click(object sender, EventArgs e)
        {
            RolloverItem item = this.toolStrip1.Items[0] as RolloverItem;

            if (item != null)
            {
                item.Select();

                this.Invalidate();
            }
        }

        // This utility method creates a RolloverItem 
        // and adds it to a ToolStrip control.
        private RolloverItem CreateRolloverItem(
            ToolStrip owningToolStrip,
            string txt,
            Font f,
            string imgKey,
            TextImageRelation tir,
            string backImgKey)
        {
            RolloverItem item = new RolloverItem();

            item.Alignment = ToolStripItemAlignment.Left;
            item.AllowDrop = false;
            item.AutoSize = true;

            item.BackgroundImage = owningToolStrip.ImageList.Images[backImgKey];
            item.BackgroundImageLayout = ImageLayout.Center;
            item.DisplayStyle = ToolStripItemDisplayStyle.ImageAndText;
            item.DoubleClickEnabled = true;
            item.Enabled = true;
            item.Font = f;

            // These assignments are equivalent. Each assigns an
            // image from the owning toolstrip's image list.
            item.ImageKey = imgKey;
            //item.Image = owningToolStrip.ImageList.Images[infoIconKey];
            //item.ImageIndex = owningToolStrip.ImageList.Images.IndexOfKey(infoIconKey);
            item.ImageScaling = ToolStripItemImageScaling.None;

            item.Owner = owningToolStrip;
            item.Padding = new Padding(2);
            item.Text = txt;
            item.TextAlign = ContentAlignment.MiddleLeft;
            item.TextDirection = ToolStripTextDirection.Horizontal;
            item.TextImageRelation = tir;

            return item;
        }

        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }

        #region Windows Form Designer generated code

        private void InitializeComponent()
        {
            this.toolStrip1 = new System.Windows.Forms.ToolStrip();
            this.button1 = new System.Windows.Forms.Button();
            this.SuspendLayout();
            // 
            // toolStrip1
            // 
            this.toolStrip1.AllowItemReorder = true;
            this.toolStrip1.Location = new System.Drawing.Point(0, 0);
            this.toolStrip1.Name = "toolStrip1";
            this.toolStrip1.Size = new System.Drawing.Size(845, 25);
            this.toolStrip1.TabIndex = 0;
            this.toolStrip1.Text = "toolStrip1";
            // 
            // button1
            // 
            this.button1.Location = new System.Drawing.Point(12, 100);
            this.button1.Name = "button1";
            this.button1.Size = new System.Drawing.Size(86, 23);
            this.button1.TabIndex = 1;
            this.button1.Text = "Click to select";
            this.button1.UseVisualStyleBackColor = true;
            this.button1.Click += new System.EventHandler(this.button1_Click);
            // 
            // RolloverItemTestForm
            // 
            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 14F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.AutoSize = true;
            this.ClientSize = new System.Drawing.Size(845, 282);
            this.Controls.Add(this.button1);
            this.Controls.Add(this.toolStrip1);
            this.Font = new System.Drawing.Font("Arial", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
            this.Name = "RolloverItemTestForm";
            this.Text = "Form1";
            this.ResumeLayout(false);
            this.PerformLayout();

        }

        #endregion
    }

    static class Program
    {   
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new RolloverItemTestForm());
        }
    }

}
Option Strict On
Option Explicit On

Imports System.Collections.Generic
Imports System.ComponentModel
Imports System.Drawing
Imports System.Drawing.Drawing2D
Imports System.Windows.Forms

' This class implements a ToolStripItem that highlights
' its border and text when the mouse enters its
' client rectangle. It has a clickable state which is
' exposed through the Clicked property and displayed
' by highlighting or graying out the item's image. 
Public Class RolloverItem
    Inherits ToolStripItem

   Private clickedValue As Boolean = False
   Private rolloverValue As Boolean = False
   
   Private imageRect As Rectangle
   Private textRect As Rectangle
   
   ' For brevity, this implementation limits the possible 
   ' TextDirection values to ToolStripTextDirection.Horizontal. 
   Public Overrides Property TextDirection() As ToolStripTextDirection
      Get
         Return MyBase.TextDirection
      End Get
      Set
         If value = ToolStripTextDirection.Horizontal Then
            MyBase.TextDirection = value
         Else
                Throw New ArgumentException( _
                "RolloverItem supports only horizontal text.")
         End If
      End Set
   End Property
   
   ' For brevity, this implementation limits the possible 
   ' TextImageRelation values to ImageBeforeText and TextBeforeImage. 
   Public Shadows Property TextImageRelation() As TextImageRelation
      Get
         Return MyBase.TextImageRelation
      End Get
      
      Set
            If Value = TextImageRelation.ImageBeforeText OrElse _
               Value = TextImageRelation.TextBeforeImage Then
                MyBase.TextImageRelation = Value
            Else
                Throw New ArgumentException("Unsupported TextImageRelation value.")
            End If
      End Set
   End Property
   
   ' This property returns true if the mouse is 
   ' inside the client rectangle.
   Public ReadOnly Property Rollover() As Boolean
      Get
         Return Me.rolloverValue
      End Get
    End Property

   ' This property returns true if the item 
   ' has been toggled into the clicked state.
   ' Clicking again toggles it to the 
   ' unclicked state.
   Public ReadOnly Property Clicked() As Boolean
      Get
         Return Me.clickedValue
      End Get
   End Property
   
   ' The method defines the behavior of the Click event.
   ' It simply toggles the state of the clickedValue field.
   Protected Overrides Sub OnClick(e As EventArgs)
      MyBase.OnClick(e)
      
        Me.clickedValue = Me.clickedValue Xor True
    End Sub

   ' The method defines the behavior of the DoubleClick 
   ' event. It shows a MessageBox with the item's text.
   Protected Overrides Sub OnDoubleClick(e As EventArgs)
      MyBase.OnDoubleClick(e)
      
      Dim msg As String = String.Format("Item: {0}", Me.Text)
      
      MessageBox.Show(msg)
    End Sub

   ' This method defines the behavior of the MouseEnter event.
   ' It sets the state of the rolloverValue field to true and
   ' tells the control to repaint.
   Protected Overrides Sub OnMouseEnter(e As EventArgs)
      MyBase.OnMouseEnter(e)
      
      Me.rolloverValue = True
      
      Me.Invalidate()
    End Sub
   
   ' This method defines the behavior of the MouseLeave event.
   ' It sets the state of the rolloverValue field to false and
   ' tells the control to repaint.
   Protected Overrides Sub OnMouseLeave(e As EventArgs)
      MyBase.OnMouseLeave(e)
      
      Me.rolloverValue = False
      
      Me.Invalidate()
    End Sub
   
   ' This method defines the painting behavior of the control.
   ' It performs the following operations:
   '
   ' Computes the layout of the item's image and text.
   ' Draws the item's background image.
   ' Draws the item's image.
   ' Draws the item's text.
   '
   ' Drawing operations are implemented in the 
   ' RolloverItemRenderer class.
   Protected Overrides Sub OnPaint(e As PaintEventArgs)
      MyBase.OnPaint(e)
      
      If (Me.Owner IsNot Nothing) Then
         ' Find the dimensions of the image and the text 
         ' areas of the item. 
         Me.ComputeImageAndTextLayout()
         
         ' Draw the background. This includes drawing a highlighted 
         ' border when the mouse is in the client area.
         Dim ea As New ToolStripItemRenderEventArgs(e.Graphics, Me)
         Me.Owner.Renderer.DrawItemBackground(ea)
         
         ' Draw the item's image. 
         Dim irea As New ToolStripItemImageRenderEventArgs(e.Graphics, Me, imageRect)
         Me.Owner.Renderer.DrawItemImage(irea)
         
         ' If the item is on a drop-down, give its
         ' text a different highlighted color.
            Dim highlightColor As Color = CType(IIf(Me.IsOnDropDown, Color.Salmon, SystemColors.ControlLightLight), Color)
         
         ' Draw the text, and highlight it if the 
         ' the rollover state is true.
            Dim rea As New ToolStripItemTextRenderEventArgs( _
               e.Graphics, _
               Me, _
               MyBase.Text, _
               textRect, _
               CType(IIf(Me.rolloverValue, highlightColor, MyBase.ForeColor), Color), _
               MyBase.Font, _
               MyBase.TextAlign)
         Me.Owner.Renderer.DrawItemText(rea)
      End If
    End Sub

   ' This utility method computes the layout of the 
   ' RolloverItem control's image area and the text area.
   ' For brevity, only the following settings are 
   ' supported:
   '
   ' ToolStripTextDirection.Horizontal
   ' TextImageRelation.ImageBeforeText 
   ' TextImageRelation.ImageBeforeText
   ' 
   ' It would not be difficult to support vertical text
   ' directions and other image/text relationships.
   Private Sub ComputeImageAndTextLayout()
      Dim cr As Rectangle = MyBase.ContentRectangle
      Dim img As Image = MyBase.Owner.ImageList.Images(MyBase.ImageKey)
      
      ' Compute the center of the item's ContentRectangle.
        Dim centerY As Integer = CInt((cr.Height - img.Height) / 2)
      
      ' Find the dimensions of the image and the text 
      ' areas of the item. The text occupies the space 
      ' not filled by the image. 
        If MyBase.TextImageRelation = _
        TextImageRelation.ImageBeforeText AndAlso _
        MyBase.TextDirection = ToolStripTextDirection.Horizontal Then

            imageRect = New Rectangle( _
            MyBase.ContentRectangle.Left, _
            centerY, _
            MyBase.Image.Width, _
            MyBase.Image.Height)

            textRect = New Rectangle( _
            imageRect.Width, _
            MyBase.ContentRectangle.Top, _
            MyBase.ContentRectangle.Width - imageRect.Width, _
            MyBase.ContentRectangle.Height)

        ElseIf MyBase.TextImageRelation = _
        TextImageRelation.TextBeforeImage AndAlso _
        MyBase.TextDirection = ToolStripTextDirection.Horizontal Then

            imageRect = New Rectangle( _
            MyBase.ContentRectangle.Right - MyBase.Image.Width, _
            centerY, _
            MyBase.Image.Width, _
            MyBase.Image.Height)

            textRect = New Rectangle( _
            MyBase.ContentRectangle.Left, _
            MyBase.ContentRectangle.Top, _
            imageRect.X, _
            MyBase.ContentRectangle.Bottom)

        End If
    End Sub
End Class

' This is the custom renderer for the RolloverItem control.
' It draws a border around the item when the mouse is
' in the item's client area. It also draws the item's image
' in an inactive state (grayed out) until the user clicks
' the item to toggle its "clicked" state.
Friend Class RolloverItemRenderer
    Inherits ToolStripSystemRenderer

    Protected Overrides Sub OnRenderItemImage(ByVal e As ToolStripItemImageRenderEventArgs)
        MyBase.OnRenderItemImage(e)

        Dim item As RolloverItem = CType(e.Item, RolloverItem)

        ' If the ToolSTripItem is of type RolloverItem, 
        ' perform custom rendering for the image.
        If (item IsNot Nothing) Then
            If item.Clicked Then
                ' The item is in the clicked state, so 
                ' draw the image as usual.
                e.Graphics.DrawImage(e.Image, e.ImageRectangle.X, e.ImageRectangle.Y)
            Else
                ' In the unclicked state, gray out the image.
                ControlPaint.DrawImageDisabled(e.Graphics, e.Image, e.ImageRectangle.X, e.ImageRectangle.Y, item.BackColor)
            End If
        End If
    End Sub

    ' This method defines the behavior for rendering the
    ' background of a ToolStripItem. If the item is a
    ' RolloverItem, it paints the item's BackgroundImage 
    ' centered in the client area. If the mouse is in the 
    ' item's client area, a border is drawn around it.
    ' If the item is on a drop-down or if it is on the
    ' overflow, a gradient is painted in the background.
    Protected Overrides Sub OnRenderItemBackground(ByVal e As ToolStripItemRenderEventArgs)
        MyBase.OnRenderItemBackground(e)

        Dim item As RolloverItem = CType(e.Item, RolloverItem)

        ' If the ToolSTripItem is of type RolloverItem, 
        ' perform custom rendering for the background.
        If (item IsNot Nothing) Then
            If item.Placement = ToolStripItemPlacement.Overflow OrElse item.IsOnDropDown Then
                Dim b As New LinearGradientBrush(item.ContentRectangle, Color.Salmon, Color.DarkRed, 0.0F, False)
                Try
                    e.Graphics.FillRectangle(b, item.ContentRectangle)
                Finally
                    b.Dispose()
                End Try
            End If

            ' The RolloverItem control only supports 
            ' the ImageLayout.Center setting for the
            ' BackgroundImage property.
            If item.BackgroundImageLayout = ImageLayout.Center Then
                ' Get references to the item's ContentRectangle
                ' and BackgroundImage, for convenience.
                Dim cr As Rectangle = item.ContentRectangle
                Dim bgi As Image = item.BackgroundImage

                ' Compute the center of the item's ContentRectangle.
                Dim centerX As Integer = CInt((cr.Width - bgi.Width) / 2)
                Dim centerY As Integer = CInt((cr.Height - bgi.Height) / 2)

                ' If the item is selected, draw the background
                ' image as usual. Otherwise, draw it as disabled.
                If item.Selected Then
                    e.Graphics.DrawImage(bgi, centerX, centerY)
                Else
                    ControlPaint.DrawImageDisabled(e.Graphics, bgi, centerX, centerY, item.BackColor)
                End If
            End If

            ' If the item is in the rollover state, 
            ' draw a border around it.
            If item.Rollover Then
                ControlPaint.DrawFocusRectangle(e.Graphics, item.ContentRectangle)
            End If
        End If
    End Sub

End Class

' This form tests various features of the RolloverItem
' control. RolloverItem conrols are created and added
' to the form's ToolStrip. They are also created and 
' added to a button's ContextMenuStrip. The behavior
' of the RolloverItem control differs depending on 
' the type of parent control.

Public Class RolloverItemTestForm
   Inherits Form
   Private toolStrip1 As System.Windows.Forms.ToolStrip
   Private WithEvents button1 As System.Windows.Forms.Button
   
   Private infoIconKey As String = "Information icon"
   Private handIconKey As String = "Hand icon"
   Private exclIconKey As String = "Exclamation icon"
   Private questionIconKey As String = "Question icon"
   Private warningIconKey As String = "Warning icon "
   
   Private components As System.ComponentModel.IContainer = Nothing
   
   
   Public Sub New()
      InitializeComponent()
      
      ' Set up the form's ToolStrip control.
      InitializeToolStrip()
      
      ' Set up the ContextMenuStrip for the button.
      InitializeContextMenu()
    End Sub
   
   
   ' This utility method initializes the ToolStrip control's 
   ' image list. For convenience, icons from the SystemIcons 
   ' class are used for this demonstration, but any images
   ' could be used.
   Private Sub InitializeImageList(ts As ToolStrip)
      If ts.ImageList Is Nothing Then
         ts.ImageList = New ImageList()
         ts.ImageList.ImageSize = SystemIcons.Exclamation.Size
         
         ts.ImageList.Images.Add(Me.infoIconKey, SystemIcons.Information)
         
         ts.ImageList.Images.Add(Me.handIconKey, SystemIcons.Hand)
         
         ts.ImageList.Images.Add(Me.exclIconKey, SystemIcons.Exclamation)
         
         ts.ImageList.Images.Add(Me.questionIconKey, SystemIcons.Question)
         
         ts.ImageList.Images.Add(Me.warningIconKey, SystemIcons.Warning)
      End If
    End Sub
   
   
   Private Sub InitializeToolStrip()
      Me.InitializeImageList(Me.toolStrip1)
      
      Me.toolStrip1.Renderer = New RolloverItemRenderer()
      
      Dim item As RolloverItem = Me.CreateRolloverItem(Me.toolStrip1, "RolloverItem on ToolStrip", Me.Font, infoIconKey, TextImageRelation.ImageBeforeText, exclIconKey)
      
      Me.toolStrip1.Items.Add(item)
      
      item = Me.CreateRolloverItem(Me.toolStrip1, "RolloverItem on ToolStrip", Me.Font, infoIconKey, TextImageRelation.ImageBeforeText, exclIconKey)
      
      Me.toolStrip1.Items.Add(item)
    End Sub
   
   
   Private Sub InitializeContextMenu()
        Dim f As New System.Drawing.Font("Arial", 18.0F, FontStyle.Bold)
      
      Dim cms As New ContextMenuStrip()
      Me.InitializeImageList(cms)
      
      cms.Renderer = New RolloverItemRenderer()
      cms.AutoSize = True
      cms.ShowCheckMargin = False
      cms.ShowImageMargin = False
      
        Dim item As RolloverItem = Me.CreateRolloverItem( _
        cms, _
        "RolloverItem on ContextMenuStrip", _
        f, _
        handIconKey, _
        TextImageRelation.ImageBeforeText, _
        exclIconKey)
      
      cms.Items.Add(item)
      
        item = Me.CreateRolloverItem( _
        cms, _
        "Another RolloverItem on ContextMenuStrip", _
        f, _
        questionIconKey, _
        TextImageRelation.ImageBeforeText, _
        exclIconKey)
      
      cms.Items.Add(item)
      
        item = Me.CreateRolloverItem( _
        cms, _
        "And another RolloverItem on ContextMenuStrip", _
        CType(f, Drawing.Font), _
        warningIconKey, _
        TextImageRelation.ImageBeforeText, _
        exclIconKey)
      
      cms.Items.Add(item)
      
      AddHandler cms.Closing, AddressOf cms_Closing
      
      Me.button1.ContextMenuStrip = cms
    End Sub
   
   
   ' This method handles the ContextMenuStrip 
   ' control's Closing event. It prevents the 
   ' RolloverItem from closing the drop-down  
   ' when the item is clicked.
   Private Sub cms_Closing(sender As Object, e As ToolStripDropDownClosingEventArgs)
      If e.CloseReason = ToolStripDropDownCloseReason.ItemClicked Then
         e.Cancel = True
      End If
    End Sub
   
   
   ' This method handles the Click event for the button.
   ' it selects the first item in the ToolStrip control
   ' by using the ToolStripITem.Select method.
   Private Sub button1_Click(sender As Object, e As EventArgs) Handles button1.Click
        Dim item As RolloverItem = CType(Me.toolStrip1.Items(0), RolloverItem)
      
      If (item IsNot Nothing) Then
         item.Select()
         
         Me.Invalidate()
      End If
    End Sub

   ' This utility method creates a RolloverItem 
   ' and adds it to a ToolStrip control.
    Private Function CreateRolloverItem( _
    ByVal owningToolStrip As ToolStrip, _
    ByVal txt As String, _
    ByVal f As Font, _
    ByVal imgKey As String, _
    ByVal tir As TextImageRelation, _
    ByVal backImgKey As String) As RolloverItem

        Dim item As New RolloverItem()

        item.Alignment = ToolStripItemAlignment.Left
        item.AllowDrop = False
        item.AutoSize = True

        item.BackgroundImage = owningToolStrip.ImageList.Images(backImgKey)
        item.BackgroundImageLayout = ImageLayout.Center
        item.DisplayStyle = ToolStripItemDisplayStyle.ImageAndText
        item.DoubleClickEnabled = True
        item.Enabled = True
        item.Font = f

        ' These assignments are equivalent. Each assigns an
        ' image from the owning toolstrip's image list.
        item.ImageKey = imgKey
        'item.Image = owningToolStrip.ImageList.Images[infoIconKey];
        'item.ImageIndex = owningToolStrip.ImageList.Images.IndexOfKey(infoIconKey);
        item.ImageScaling = ToolStripItemImageScaling.None

        item.Owner = owningToolStrip
        item.Padding = New Padding(2)
        item.Text = txt
        item.TextAlign = ContentAlignment.MiddleLeft
        item.TextDirection = ToolStripTextDirection.Horizontal
        item.TextImageRelation = tir

        Return item
    End Function

   Protected Overrides Sub Dispose(disposing As Boolean)
      If disposing AndAlso (components IsNot Nothing) Then
         components.Dispose()
      End If
      MyBase.Dispose(disposing)
    End Sub
   
   #Region "Windows Form Designer generated code"
   
   Private Sub InitializeComponent()
      Me.toolStrip1 = New System.Windows.Forms.ToolStrip()
      Me.button1 = New System.Windows.Forms.Button()
      Me.SuspendLayout()
      ' 
      ' toolStrip1
      ' 
      Me.toolStrip1.AllowItemReorder = True
      Me.toolStrip1.Location = New System.Drawing.Point(0, 0)
      Me.toolStrip1.Name = "toolStrip1"
      Me.toolStrip1.Size = New System.Drawing.Size(845, 25)
      Me.toolStrip1.TabIndex = 0
      Me.toolStrip1.Text = "toolStrip1"
      ' 
      ' button1
      ' 
      Me.button1.Location = New System.Drawing.Point(12, 100)
      Me.button1.Name = "button1"
      Me.button1.Size = New System.Drawing.Size(86, 23)
      Me.button1.TabIndex = 1
      Me.button1.Text = "Click to select"
      Me.button1.UseVisualStyleBackColor = True
      ' 
      ' RolloverItemTestForm
      ' 
      Me.AutoScaleDimensions = New System.Drawing.SizeF(6F, 14F)
      Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
      Me.AutoSize = True
      Me.ClientSize = New System.Drawing.Size(845, 282)
      Me.Controls.Add(button1)
      Me.Controls.Add(toolStrip1)
        Me.Font = New System.Drawing.Font("Arial", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 0)
      Me.Name = "RolloverItemTestForm"
      Me.Text = "Form1"
      Me.ResumeLayout(False)
      Me.PerformLayout()
    End Sub
   
#End Region

End Class


Public Class Program

    <STAThread()> _
    Shared Sub Main()
        Application.EnableVisualStyles()
        Application.SetCompatibleTextRenderingDefault(False)
        Application.Run(New RolloverItemTestForm())
    End Sub
End Class

注釈

は、 ToolStripコントロールまたToolStripDropDownはコントロールに含めることができるボタン、コンボボックス、テキストボックス、ラベルなどの要素であり、Windows ショートカットメニューに似ています。 ToolStripItemA ToolStripItem is an element such as a button, combo box, text box, or label that can be contained in a ToolStrip control or a ToolStripDropDown control, which is similar to a Windows shortcut menu. クラスToolStripは、これらの要素の描画とキーボード入力とマウス入力 (ドラッグアンドドロップ入力を含む) を管理しToolStripItemます。クラスは、要素内のイベントとレイアウトを管理します。The ToolStrip class manages the painting and keyboard and mouse input, including drag-and-drop input, for these elements, and the ToolStripItem class manages events and layout within the elements themselves.

ToolStripItemクラスはToolStripItem、から直接継承されるか、 ToolStripControlHostまたToolStripItemToolStripDropDownItemから間接的に継承されます。ToolStripItem classes either inherit directly from ToolStripItem, or they inherit indirectly from ToolStripItem through ToolStripControlHost or ToolStripDropDownItem.

ToolStripItemToolStripコントロールはMenuStrip ContextMenuStrip 、、、、またはに含まれている必要があります。フォームに直接追加することはできません。 StatusStripToolStripItem controls must be contained in a ToolStrip, MenuStrip, StatusStrip, or ContextMenuStrip and cannot be added directly to a form. さまざまなコンテナークラスは、コントロールのToolStripItem適切なサブセットを含むように設計されています。The various container classes are designed to contain an appropriate subset of ToolStripItem controls.

メモ指定さToolStripItemれたに複数の親ToolStripを指定することはできません。Note A given ToolStripItem cannot have more than one parent ToolStrip. をコピー ToolStripItemし、他のToolStripコントロールに追加する必要があります。You must copy of the ToolStripItem and add it to other ToolStrip controls.

次の表は、 ToolStripItemクラスから派生し、 ToolStripまたはToolStripDropDownでホストできる要素を示しています。The following table shows the elements that derive from the ToolStripItem class and which therefore can be hosted in a ToolStrip or ToolStripDropDown.

要素Element 説明Description
ToolStripButton イメージとテキストをサポートするツールバーボタン。A toolbar button that supports images and text.
ToolStripLabel 通常、ステータスバーまたはToolStripコメントまたはタイトルとして使用されるテキストラベル。A text label typically used in a status bar or ToolStrip as a comment or title.
ToolStripSeparator 要素を視覚的にグループ化する縦棒を持つ、選択できない領域または領域。A non-selectable space or space with a vertical bar that visually groups elements.
ToolStripControlHost 、、 ToolStripProgressBar、そのToolStripComboBoxToolStripTextBoxの Windows フォームコントロール、またはカスタムコントロールをホストする。ToolStripItemA ToolStripItem that hosts a ToolStripComboBox, ToolStripTextBox, ToolStripProgressBar, other Windows Forms controls, or custom controls.

ToolStripComboBoxは、ユーザーがテキストを入力できるテキストボックスであり、ユーザーはテキストボックスを選択してテキストを入力できます。A ToolStripComboBox is a text box in which the user can enter text, along with a list from which the user can select text to fill the text box.

ToolStripTextBox 、ユーザーがテキストを入力できるようにします。A ToolStripTextBox enables the user to enter text.

ToolStripProgressBarStatusStripに格納されている Windows プログレスバーコントロールを表します。A ToolStripProgressBar represents a Windows progress bar control contained in a StatusStrip.
ToolStripDropDownItem 、、およびToolStripMenuItem ToolStripItemToolStripSplitButtonホストする。 ToolStripDropDownButtonA ToolStripItem that hosts a ToolStripMenuItem, ToolStripSplitButton, and ToolStripDropDownButton.

ToolStripMenuItemは、メニューまたはコンテキストメニューに表示される選択可能なオプションです。A ToolStripMenuItem is a selectable option displayed on a menu or context menu.

は、通常のボタンとドロップダウンボタンを組み合わせたものです。ToolStripSplitButtonA ToolStripSplitButton is a combination of a regular button and a drop-down button.

ToolStripDropDownButton 、ドロップダウン機能をサポートするボタンです。A ToolStripDropDownButton is a button that supports drop-down functionality.
ToolStripStatusLabel StatusStripコントロール内のパネル。A panel in a StatusStrip control.

コンストラクター

ToolStripItem()

ToolStripItem クラスの新しいインスタンスを初期化します。Initializes a new instance of the ToolStripItem class.

ToolStripItem(String, Image, EventHandler)

名前、イメージ、およびイベント ハンドラーを指定して、ToolStripItem クラスの新しいインスタンスを初期化します。Initializes a new instance of the ToolStripItem class with the specified name, image, and event handler.

ToolStripItem(String, Image, EventHandler, String)

表示テキスト、イメージ、イベント ハンドラー、および名前を指定して、ToolStripItem クラスの新しいインスタンスを初期化します。Initializes a new instance of the ToolStripItem class with the specified display text, image, event handler, and name.

プロパティ

AccessibilityObject

コントロールに割り当てられた AccessibleObject を取得します。Gets the AccessibleObject assigned to the control.

AccessibleDefaultActionDescription

アクセシビリティ クライアント アプリケーションで使用されるコントロールの既定のアクションの説明を取得または設定します。Gets or sets the default action description of the control for use by accessibility client applications.

AccessibleDescription

ユーザー補助クライアント アプリケーションに通知される説明を取得または設定します。Gets or sets the description that will be reported to accessibility client applications.

AccessibleName

ユーザー補助クライアント アプリケーションによって使用されるコントロールの名前を取得または設定します。Gets or sets the name of the control for use by accessibility client applications.

AccessibleRole

コントロールのユーザー インターフェイス要素の型を指定する、コントロールのユーザー補助役割を取得または設定します。Gets or sets the accessible role of the control, which specifies the type of user interface element of the control.

Alignment

項目が ToolStrip の先頭または末尾のいずれに合わせて配置されるかを示す値を取得または設定します。Gets or sets a value indicating whether the item aligns towards the beginning or end of the ToolStrip.

AllowDrop

実装するイベントによって、ドラッグ アンド ドロップおよび項目の順番変更が処理されるかどうかを示す値を取得または設定します。Gets or sets a value indicating whether drag-and-drop and item reordering are handled through events that you implement.

Anchor

ToolStripItem がバインドされるコンテナーの端を取得または設定し、親のサイズ変更時に、ToolStripItem のサイズがどのように変化するかを決定します。Gets or sets the edges of the container to which a ToolStripItem is bound and determines how a ToolStripItem is resized with its parent.

AutoSize

項目のサイズが自動的に設定されるかどうかを示す値を取得または設定します。Gets or sets a value indicating whether the item is automatically sized.

AutoToolTip

ToolTipText のツールヒントに、Text プロパティまたは ToolStripItem プロパティを使用するかどうかを示す値を取得または設定します。Gets or sets a value indicating whether to use the Text property or the ToolTipText property for the ToolStripItem ToolTip.

Available

ToolStripItemToolStrip 上に配置するかどうかを示す値を取得または設定します。Gets or sets a value indicating whether the ToolStripItem should be placed on a ToolStrip.

BackColor

項目の背景色を取得または設定します。Gets or sets the background color for the item.

BackgroundImage

項目に表示される背景イメージを取得または設定します。Gets or sets the background image displayed in the item.

BackgroundImageLayout

ToolStripItem に使用する背景イメージのレイアウトを取得または設定します。Gets or sets the background image layout used for the ToolStripItem.

Bounds

項目のサイズと位置を取得します。Gets the size and location of the item.

CanRaiseEvents

コンポーネントがイベントを発生させることがきるかどうかを示す値を取得します。Gets a value indicating whether the component can raise an event.

(継承元 Component)
CanSelect

項目を選択できるかどうかを示す値を取得します。Gets a value indicating whether the item can be selected.

Container

IContainer を格納している Component を取得します。Gets the IContainer that contains the Component.

(継承元 Component)
ContentRectangle

背景の境界線を上書きせずに、テキスト、アイコンなどのコンテンツを ToolStripItem 内に配置できる領域を取得します。Gets the area where content, such as text and icons, can be placed within a ToolStripItem without overwriting background borders.

DefaultAutoToolTip

既定として定義されている ToolTip を表示するかどうかを示す値を取得します。Gets a value indicating whether to display the ToolTip that is defined as the default.

DefaultDisplayStyle

ToolStripItem に表示されている内容を示す値を取得します。Gets a value indicating what is displayed on the ToolStripItem.

DefaultMargin

項目の既定のマージンを取得します。Gets the default margin of an item.

DefaultPadding

項目の内部のスペーシング特性を取得します。Gets the internal spacing characteristics of the item.

DefaultSize

項目の既定のサイズを取得します。Gets the default size of the item.

DesignMode

Component が現在デザイン モードかどうかを示す値を取得します。Gets a value that indicates whether the Component is currently in design mode.

(継承元 Component)
DismissWhenClicked

ToolStripDropDown の項目がクリックされた後、非表示にするかどうかを示す値を取得します。Gets a value indicating whether items on a ToolStripDropDown are hidden after they are clicked.

DisplayStyle

テキストおよびイメージが ToolStripItem に表示されるかどうかを取得または設定します。Gets or sets whether text and images are displayed on a ToolStripItem.

Dock

ToolStripItem の境界のうちのどれが、親コントロールにドッキングしているかを取得または設定し、親のサイズ変更時に ToolStripItem のサイズがどのように変化するかを決定します。Gets or sets which ToolStripItem borders are docked to its parent control and determines how a ToolStripItem is resized with its parent.

DoubleClickEnabled

ToolStripItem がマウスのダブルクリックによってアクティブになるかどうかを示す値を取得または設定します。Gets or sets a value indicating whether the ToolStripItem can be activated by double-clicking the mouse.

Enabled

ToolStripItem の親コントロールが有効かどうかを示す値を取得または設定します。Gets or sets a value indicating whether the parent control of the ToolStripItem is enabled.

Events

Component に結び付けられているイベント ハンドラーのリストを取得します。Gets the list of event handlers that are attached to this Component.

(継承元 Component)
Font

項目によって表示されるテキストのフォントを取得または設定します。Gets or sets the font of the text displayed by the item.

ForeColor

項目の前景色を取得または設定します。Gets or sets the foreground color of the item.

Height

ToolStripItem の高さをピクセル単位で取得または設定します。Gets or sets the height, in pixels, of a ToolStripItem.

Image

ToolStripItem に表示されるイメージを取得または設定します。Gets or sets the image that is displayed on a ToolStripItem.

ImageAlign

ToolStripItem 上のイメージの配置を取得または設定します。Gets or sets the alignment of the image on a ToolStripItem.

ImageIndex

項目に表示されるイメージのインデックス値を取得または設定します。Gets or sets the index value of the image that is displayed on the item.

ImageKey

ImageList に表示されている ToolStripItem で、イメージのキー アクセサーを取得または設定します。Gets or sets the key accessor for the image in the ImageList that is displayed on a ToolStripItem.

ImageScaling

ToolStripItem 上のイメージが、コンテナーに合わせて自動的にサイズ変更されるかどうかを示す値を取得または設定します。Gets or sets a value indicating whether an image on a ToolStripItem is automatically resized to fit in a container.

ImageTransparentColor

ToolStripItem イメージ内で透明と見なされる色を取得または設定します。Gets or sets the color to treat as transparent in a ToolStripItem image.

IsDisposed

オブジェクトが破棄されているかどうかを示す値を取得します。Gets a value indicating whether the object has been disposed of.

IsOnDropDown

現在の Control のコンテナーが ToolStripDropDown かどうかを示す値を取得します。Gets a value indicating whether the container of the current Control is a ToolStripDropDown.

IsOnOverflow

Placement プロパティ が Overflow に設定されているかどうかを示す値を取得します。Gets a value indicating whether the Placement property is set to Overflow.

Margin

項目と隣接する項目との間隔を取得または設定します。Gets or sets the space between the item and adjacent items.

MergeAction

子メニューが親メニューにマージされる方法を取得または設定します。Gets or sets how child menus are merged with parent menus.

MergeIndex

現在の ToolStrip 内のマージされた項目の位置を取得または設定します。Gets or sets the position of a merged item within the current ToolStrip.

Name

項目の名前を取得または設定します。Gets or sets the name of the item.

Overflow

項目が ToolStrip または ToolStripOverflowButton のいずれかに関連付けられているか、それとも 2 つの間で変動するかを取得または設定します。Gets or sets whether the item is attached to the ToolStrip or ToolStripOverflowButton or can float between the two.

Owner

この項目の所有者を取得または設定します。Gets or sets the owner of this item.

OwnerItem

この ToolStripItem の親 ToolStripItem を取得します。Gets the parent ToolStripItem of this ToolStripItem.

Padding

項目のコンテンツと項目の端との間の内部スペーシングをピクセル単位で取得または設定します。Gets or sets the internal spacing, in pixels, between the item's contents and its edges.

Parent

ToolStripItem の親コンテナーを取得または設定します。Gets or sets the parent container of the ToolStripItem.

Placement

項目の現在のレイアウトを取得します。Gets the current layout of the item.

Pressed

項目が押された状態かどうかを示す値を取得します。Gets a value indicating whether the state of the item is pressed.

RightToLeft

項目が右から左へと並べられ、テキストが右から左へと表示されるかどうかを示す値を取得または設定します。Gets or sets a value indicating whether items are to be placed from right to left and text is to be written from right to left.

RightToLeftAutoMirrorImage

ToolStripItem プロパティが RightToLeft に設定されている場合、Yes イメージを自動的に反映します。Mirrors automatically the ToolStripItem image when the RightToLeft property is set to Yes.

Selected

項目が選択されているかどうかを示す値を取得します。Gets a value indicating whether the item is selected.

ShowKeyboardCues

ショートカット キーを表示、非表示のいずれにするかを示す値を取得します。Gets a value indicating whether to show or hide shortcut keys.

Site

ComponentISite を取得または設定します。Gets or sets the ISite of the Component.

(継承元 Component)
Size

項目のサイズを取得または設定します。Gets or sets the size of the item.

Tag

項目に関するデータを格納するオブジェクトを取得または設定します。Gets or sets the object that contains data about the item.

Text

項目に表示されるテキストを取得または設定します。Gets or sets the text that is to be displayed on the item.

TextAlign

ToolStripLabel 上のテキストの配置を取得または設定します。Gets or sets the alignment of the text on a ToolStripLabel.

TextDirection

ToolStripItem で使用されるテキストの方向を取得します。Gets the orientation of text used on a ToolStripItem.

TextImageRelation

ToolStripItem のテキストとイメージの互いに相対的な位置を取得または設定します。Gets or sets the position of ToolStripItem text and image relative to each other.

ToolTipText

コントロールの ToolTip として表示されるテキストを取得または設定します。Gets or sets the text that appears as a ToolTip for a control.

Visible

項目が表示されるかどうかを示す値を取得または設定します。Gets or sets a value indicating whether the item is displayed.

Width

ToolStripItem の幅をピクセル単位で取得または設定します。Gets or sets the width in pixels of a ToolStripItem.

メソッド

CreateAccessibilityInstance()

ToolStripItem の新しいユーザー補助オブジェクトを作成します。Creates a new accessibility object for the ToolStripItem.

CreateObjRef(Type)

リモート オブジェクトとの通信に使用するプロキシの生成に必要な情報をすべて格納しているオブジェクトを作成します。Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(継承元 MarshalByRefObject)
Dispose()

Component によって使用されているすべてのリソースを解放します。Releases all resources used by the Component.

(継承元 Component)
Dispose(Boolean)

ToolStripItem によって使用されているアンマネージド リソースを解放し、オプションでマネージド リソースも解放します。Releases the unmanaged resources used by the ToolStripItem and optionally releases the managed resources.

DoDragDrop(Object, DragDropEffects)

ドラッグ アンド ドロップ操作を開始します。Begins a drag-and-drop operation.

Equals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(継承元 Object)
GetCurrentParent()

現在の ToolStrip のコンテナーである ToolStripItem を取得します。Retrieves the ToolStrip that is the container of the current ToolStripItem.

GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(継承元 Object)
GetLifetimeService()

対象のインスタンスの有効期間ポリシーを制御する、現在の有効期間サービス オブジェクトを取得します。Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(継承元 MarshalByRefObject)
GetPreferredSize(Size)

コントロールが適合する四角形領域のサイズを取得します。Retrieves the size of a rectangular area into which a control can be fit.

GetService(Type)

Component またはその Container で提供されるサービスを表すオブジェクトを返します。Returns an object that represents a service provided by the Component or by its Container.

(継承元 Component)
GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(継承元 Object)
InitializeLifetimeService()

このインスタンスの有効期間ポリシーを制御する有効期間サービス オブジェクトを取得します。Obtains a lifetime service object to control the lifetime policy for this instance.

(継承元 MarshalByRefObject)
Invalidate()

ToolStripItem の表面全体を無効化して、それを再描画します。Invalidates the entire surface of the ToolStripItem and causes it to be redrawn.

Invalidate(Rectangle)

ToolStripItem の指定した領域を ToolStripItem の更新領域 (次の描画操作で再描画される領域) に追加して無効化し、描画メッセージが ToolStripItem に送信されるようにします。Invalidates the specified region of the ToolStripItem by adding it to the update region of the ToolStripItem, which is the area that will be repainted at the next paint operation, and causes a paint message to be sent to the ToolStripItem.

IsInputChar(Char)

文字が、項目によって認識される入力文字かどうかを判断します。Determines whether a character is an input character that the item recognizes.

IsInputKey(Keys)

指定されているキーが、通常の入力キーであるか、またはプリプロセスを必要とする特殊なキーであるかを確認します。Determines whether the specified key is a regular input key or a special key that requires preprocessing.

MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(継承元 Object)
MemberwiseClone(Boolean)

現在の MarshalByRefObject オブジェクトの簡易コピーを作成します。Creates a shallow copy of the current MarshalByRefObject object.

(継承元 MarshalByRefObject)
OnAvailableChanged(EventArgs)

AvailableChanged イベントを発生させます。Raises the AvailableChanged event.

OnBackColorChanged(EventArgs)

BackColorChanged イベントを発生させます。Raises the BackColorChanged event.

OnBoundsChanged()

Bounds プロパティが変更されたときに発生します。Occurs when the Bounds property changes.

OnClick(EventArgs)

Click イベントを発生させます。Raises the Click event.

OnDisplayStyleChanged(EventArgs)

DisplayStyleChanged イベントを発生させます。Raises the DisplayStyleChanged event.

OnDoubleClick(EventArgs)

DoubleClick イベントを発生させます。Raises the DoubleClick event.

OnDragDrop(DragEventArgs)

DragDrop イベントを発生させます。Raises the DragDrop event.

OnDragEnter(DragEventArgs)

DragEnter イベントを発生させます。Raises the DragEnter event.

OnDragLeave(EventArgs)

DragLeave イベントを発生させます。Raises the DragLeave event.

OnDragOver(DragEventArgs)

DragOver イベントを発生させます。Raises the DragOver event.

OnEnabledChanged(EventArgs)

EnabledChanged イベントを発生させます。Raises the EnabledChanged event.

OnFontChanged(EventArgs)

FontChanged イベントを発生させます。Raises the FontChanged event.

OnForeColorChanged(EventArgs)

ForeColorChanged イベントを発生させます。Raises the ForeColorChanged event.

OnGiveFeedback(GiveFeedbackEventArgs)

GiveFeedback イベントを発生させます。Raises the GiveFeedback event.

OnLayout(LayoutEventArgs)

Layout イベントを発生させます。Raises the Layout event.

OnLocationChanged(EventArgs)

LocationChanged イベントを発生させます。Raises the LocationChanged event.

OnMouseDown(MouseEventArgs)

MouseDown イベントを発生させます。Raises the MouseDown event.

OnMouseEnter(EventArgs)

MouseEnter イベントを発生させます。Raises the MouseEnter event.

OnMouseHover(EventArgs)

MouseHover イベントを発生させます。Raises the MouseHover event.

OnMouseLeave(EventArgs)

MouseLeave イベントを発生させます。Raises the MouseLeave event.

OnMouseMove(MouseEventArgs)

MouseMove イベントを発生させます。Raises the MouseMove event.

OnMouseUp(MouseEventArgs)

MouseUp イベントを発生させます。Raises the MouseUp event.

OnOwnerChanged(EventArgs)

OwnerChanged イベントを発生させます。Raises the OwnerChanged event.

OnOwnerFontChanged(EventArgs)

FontChanged の親で Font プロパティが変更された場合、ToolStripItem イベントが発生します。Raises the FontChanged event when the Font property has changed on the parent of the ToolStripItem.

OnPaint(PaintEventArgs)

Paint イベントを発生させます。Raises the Paint event.

OnParentBackColorChanged(EventArgs)

BackColorChanged イベントを発生させます。Raises the BackColorChanged event.

OnParentChanged(ToolStrip, ToolStrip)

ParentChanged イベントを発生させます。Raises the ParentChanged event.

OnParentEnabledChanged(EventArgs)

項目のコンテナーの EnabledChanged プロパティ値が変更された場合に、Enabled イベントを発生させます。Raises the EnabledChanged event when the Enabled property value of the item's container changes.

OnParentForeColorChanged(EventArgs)

ForeColorChanged イベントを発生させます。Raises the ForeColorChanged event.

OnParentRightToLeftChanged(EventArgs)

RightToLeftChanged イベントを発生させます。Raises the RightToLeftChanged event.

OnQueryContinueDrag(QueryContinueDragEventArgs)

QueryContinueDrag イベントを発生させます。Raises the QueryContinueDrag event.

OnRightToLeftChanged(EventArgs)

RightToLeftChanged イベントを発生させます。Raises the RightToLeftChanged event.

OnTextChanged(EventArgs)

TextChanged イベントを発生させます。Raises the TextChanged event.

OnVisibleChanged(EventArgs)

VisibleChanged イベントを発生させます。Raises the VisibleChanged event.

PerformClick()

ToolStripItem に対して Click イベントを生成します。Generates a Click event for a ToolStripItem.

ProcessCmdKey(Message, Keys)

コマンド キーを処理します。Processes a command key.

ProcessDialogKey(Keys)

ダイアログ キーを処理します。Processes a dialog key.

ProcessMnemonic(Char)

ニーモニック文字を処理します。Processes a mnemonic character.

ResetBackColor()

このクラスでは、このメソッドは使用されません。This method is not relevant to this class.

ResetDisplayStyle()

このクラスでは、このメソッドは使用されません。This method is not relevant to this class.

ResetFont()

このクラスでは、このメソッドは使用されません。This method is not relevant to this class.

ResetForeColor()

このクラスでは、このメソッドは使用されません。This method is not relevant to this class.

ResetImage()

このクラスでは、このメソッドは使用されません。This method is not relevant to this class.

ResetMargin()

このクラスでは、このメソッドは使用されません。This method is not relevant to this class.

ResetPadding()

このクラスでは、このメソッドは使用されません。This method is not relevant to this class.

ResetRightToLeft()

このクラスでは、このメソッドは使用されません。This method is not relevant to this class.

ResetTextDirection()

このクラスでは、このメソッドは使用されません。This method is not relevant to this class.

Select()

項目を選択します。Selects the item.

SetBounds(Rectangle)

項目のサイズと位置を設定します。Sets the size and location of the item.

SetVisibleCore(Boolean)

ToolStripItem を指定した表示状態に設定します。Sets the ToolStripItem to the specified visible state.

ToString()

Component の名前 (存在する場合) を格納する String を返します。Returns a String containing the name of the Component, if any. このメソッドはオーバーライドできません。This method should not be overridden.

イベント

AvailableChanged

Available プロパティの値が変更された場合に発生します。Occurs when the value of the Available property changes.

BackColorChanged

BackColor プロパティの値が変更された場合に発生します。Occurs when the value of the BackColor property changes.

Click

ToolStripItem がクリックされた時点で発生します。Occurs when the ToolStripItem is clicked.

DisplayStyleChanged

DisplayStyle が変更された場合に発生します。Occurs when the DisplayStyle has changed.

Disposed

Dispose() メソッドの呼び出しによってコンポーネントが破棄されると発生します。Occurs when the component is disposed by a call to the Dispose() method.

(継承元 Component)
DoubleClick

項目がマウスでダブルクリックされたときに発生します。Occurs when the item is double-clicked with the mouse.

DragDrop

ユーザーが項目をドラッグし、マウス ボタンを離したとき (つまり、項目がドロップされたとき) に発生します。Occurs when the user drags an item and the user releases the mouse button, indicating that the item should be dropped into this item.

DragEnter

この項目のクライアント領域に対し、ユーザーが項目をドラッグしたときに発生します。Occurs when the user drags an item into the client area of this item.

DragLeave

ユーザーが項目をドラッグし、マウス ポインターがこの項目のクライアント領域上から離れたときに発生します。Occurs when the user drags an item and the mouse pointer is no longer over the client area of this item.

DragOver

この項目のクライアント領域上に、ユーザーが項目をドラッグしたときに発生します。Occurs when the user drags an item over the client area of this item.

EnabledChanged

Enabled プロパティ値が変更されたときに発生します。Occurs when the Enabled property value has changed.

ForeColorChanged

ForeColor プロパティの値が変化すると発生します。Occurs when the ForeColor property value changes.

GiveFeedback

ドラッグ操作中に発生します。Occurs during a drag operation.

LocationChanged

ToolStripItem の位置が更新されたときに発生します。Occurs when the location of a ToolStripItem is updated.

MouseDown

マウス ポインターが項目上にあり、マウス ボタンがクリックされると発生します。Occurs when the mouse pointer is over the item and a mouse button is pressed.

MouseEnter

マウス ポインターによって項目が入力されると発生します。Occurs when the mouse pointer enters the item.

MouseHover

マウス ポインターが項目上を移動すると発生します。Occurs when the mouse pointer hovers over the item.

MouseLeave

マウス ポインターが項目を離れると発生します。Occurs when the mouse pointer leaves the item.

MouseMove

マウス ポインターが項目上を移動すると発生します。Occurs when the mouse pointer is moved over the item.

MouseUp

マウス ポインターが項目上にあり、マウス ボタンを離すと発生します。Occurs when the mouse pointer is over the item and a mouse button is released.

OwnerChanged

Owner プロパティが変更されたときに発生します。Occurs when the Owner property changes.

Paint

項目が再描画されると発生します。Occurs when the item is redrawn.

QueryAccessibilityHelp

ユーザー補助クライアント アプリケーションが ToolStripItem のヘルプを呼び出したときに発生します。Occurs when an accessibility client application invokes help for the ToolStripItem.

QueryContinueDrag

ドラッグ アンド ドロップ操作中に発生し、ドラッグ ソースがドラッグ アンド ドロップ操作をキャンセルする必要があるかどうかを決定できるようにします。Occurs during a drag-and-drop operation and allows the drag source to determine whether the drag-and-drop operation should be canceled.

RightToLeftChanged

RightToLeft プロパティの値が変化すると発生します。Occurs when the RightToLeft property value changes.

TextChanged

Text プロパティの値が変更された場合に発生します。Occurs when the value of the Text property changes.

VisibleChanged

Visible プロパティの値が変更された場合に発生します。Occurs when the value of the Visible property changes.

明示的なインターフェイスの実装

IDropTarget.OnDragDrop(DragEventArgs)

DragDrop イベントを発生させます。Raises the DragDrop event.

IDropTarget.OnDragEnter(DragEventArgs)

DragEnter イベントを発生させます。Raises the DragEnter event.

IDropTarget.OnDragLeave(EventArgs)

DragLeave イベントを発生させます。Raises the DragLeave event.

IDropTarget.OnDragOver(DragEventArgs)

DragOver イベントを発生させます。Raises the DragOver event.

適用対象

こちらもご覧ください