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. Класс управляет рисованием и вводом с клавиатуры и мышью, включая ввод с помощью перетаскивания, для этих элементов, ToolStripItem а класс управляет событиями и макетом в самих элементах. ToolStripThe 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непосредственно от, либо неявно наследуются ToolStripDropDownItemот ToolStripItem с помощью ToolStripControlHost или.ToolStripItem classes either inherit directly from ToolStripItem, or they inherit indirectly from ToolStripItem through ToolStripControlHost or ToolStripDropDownItem.

ToolStripItemэлементы управления должны содержаться ToolStripв MenuStrip, StatusStrip, или ContextMenuStrip и не могут быть добавлены непосредственно в форму.ToolStripItem 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 Объект ToolStripItem , который ToolStripComboBoxсодержит элементы ToolStripTextBoxуправления ToolStripProgressBar,,, другие Windows Forms или пользовательские элементы управления.A 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.

Представляет элемент управления "индикатор выполнения Windows", содержащийся StatusStripв. ToolStripProgressBarA ToolStripProgressBar represents a Windows progress bar control contained in a StatusStrip.
ToolStripDropDownItem Объект ToolStripItem , в ToolStripMenuItemкотором размещаются, ToolStripDropDownButton ToolStripSplitButtonи.A ToolStripItem that hosts a ToolStripMenuItem, ToolStripSplitButton, and ToolStripDropDownButton.

ToolStripMenuItem Является выбираемым параметром, отображаемым в меню или в контекстном меню.A ToolStripMenuItem is a selectable option displayed on a menu or context menu.

ToolStripSplitButton Представляет собой сочетание обычной кнопки и раскрывающейся кнопки.A 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

Получает или задает значение, указывающее, следует ли использовать свойство Text или свойство ToolTipText для подсказки ToolStripItem.Gets or sets a value indicating whether to use the Text property or the ToolTipText property for the ToolStripItem ToolTip.

Available

Получает или задает значение, указывающее, нужно ли помещать ToolStripItem в ToolStrip.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 или он может перемещаться между ними.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

Возвращает или задает ISite объекта Component.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()

Создает событие Click для элемента ToolStripItem.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()

Возвращает объект String, содержащий имя Component, если оно есть.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.

Применяется к

Дополнительно