ToolStripItem Класс

Определение

Представляет абстрактный базовый класс, который управляет событиями и макетом для всех элементов, которые могут содержать или ToolStripToolStripDropDown которые могут содержаться.

public ref class ToolStripItem abstract : System::ComponentModel::Component, IDisposable, System::Windows::Forms::IDropTarget
public ref class ToolStripItem abstract : System::Windows::Forms::BindableComponent, IDisposable, System::Windows::Forms::IDropTarget
public abstract class ToolStripItem : System.ComponentModel.Component, IDisposable, System.Windows.Forms.IDropTarget
public abstract class ToolStripItem : System.Windows.Forms.BindableComponent, IDisposable, System.Windows.Forms.IDropTarget
type ToolStripItem = class
    inherit Component
    interface IDropTarget
    interface IComponent
    interface IDisposable
type ToolStripItem = class
    inherit BindableComponent
    interface IDropTarget
    interface IComponent
    interface IDisposable
Public MustInherit Class ToolStripItem
Inherits Component
Implements IDisposable, IDropTarget
Public MustInherit Class ToolStripItem
Inherits BindableComponent
Implements IDisposable, IDropTarget
Наследование
Наследование
Производный
Реализации

Примеры

В следующем примере кода показано, как реализовать пользовательский ToolStripItem элемент управления.

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

Комментарии

Элемент ToolStripItem — это элемент, например кнопка, поле со списком, текстовое поле или метка, которые могут содержаться в элементе управления ToolStrip или элементе управления ToolStripDropDown, который похож на контекстное меню Windows. Класс ToolStrip управляет вводом рисунка и клавиатуры и мыши, включая входные данные перетаскивания, для этих элементов, а ToolStripItem класс управляет событиями и макетом в самих элементах.

ToolStripItem классы либо наследуют непосредственно от ToolStripItem, либо косвенно от ToolStripItem через ToolStripControlHost или ToolStripDropDownItem.

ToolStripItem элементы управления должны быть вложены в ToolStrip, MenuStrip, StatusStrip или ContextMenuStrip и не могут быть добавлены непосредственно в форму. Различные классы контейнеров предназначены для хранения соответствующего ToolStripItem подмножества элементов управления.

Примечание У данного объекта ToolStripItem не может быть несколько родительских ToolStripэлементов. Необходимо скопировать ToolStripItem и добавить его в другие ToolStrip элементы управления.

В следующей таблице показаны элементы, производные от ToolStripItem класса и которые, следовательно, могут размещаться в объекте ToolStrip или ToolStripDropDown.

Элемент Description
ToolStripButton Кнопка панели инструментов, поддерживающая изображения и текст.
ToolStripLabel Текстовая метка обычно используется в строке состояния или ToolStrip в качестве комментария или заголовка.
ToolStripSeparator Неизбираемое пространство или пространство с вертикальной полосой, которая визуально группит элементы.
ToolStripControlHost Объект ToolStripItem, на котором размещен ToolStripComboBox, ToolStripTextBox, ToolStripProgressBar, другие элементы управления Windows Forms или пользовательские элементы управления.

Это ToolStripComboBox текстовое поле, в котором пользователь может ввести текст, а также список, из которого пользователь может выбрать текст, чтобы заполнить текстовое поле.

Позволяет ToolStripTextBox пользователю вводить текст.

Элемент ToolStripProgressBar представляет элемент управления Windows индикатора выполнения, содержащийся в элементе управления StatusStrip.
ToolStripDropDownItem Объект ToolStripItem , на котором размещается объект ToolStripMenuItem, ToolStripSplitButtonи ToolStripDropDownButton.

A ToolStripMenuItem — это выбранный параметр, отображаемый в меню или контекстном меню.

Это ToolStripSplitButton сочетание обычной кнопки и раскрывающейся кнопки.

Это ToolStripDropDownButton кнопка, поддерживающая функции раскрывающегося списка.
ToolStripStatusLabel Панель в элементе StatusStrip управления.

Конструкторы

Имя Описание
ToolStripItem()

Инициализирует новый экземпляр класса ToolStripItem.

ToolStripItem(String, Image, EventHandler, String)

Инициализирует новый экземпляр ToolStripItem класса с указанным отображаемым текстом, изображением, обработчиком событий и именем.

ToolStripItem(String, Image, EventHandler)

Инициализирует новый экземпляр ToolStripItem класса с указанным именем, изображением и обработчиком событий.

Свойства

Имя Описание
AccessibilityObject

Возвращает назначенный AccessibleObject элементу управления.

AccessibleDefaultActionDescription

Возвращает или задает описание действия по умолчанию элемента управления для использования клиентскими приложениями специальных возможностей.

AccessibleDescription

Возвращает или задает описание, которое будет сообщаться клиентским приложениям специальных возможностей.

AccessibleName

Возвращает или задает имя элемента управления для использования клиентскими приложениями специальных возможностей.

AccessibleRole

Возвращает или задает доступную роль элемента управления, указывающую тип элемента пользовательского интерфейса элемента элемента управления.

Alignment

Возвращает или задает значение, указывающее, соответствует ли элемент началу или концу ToolStrip.

AllowDrop

Возвращает или задает значение, указывающее, обрабатываются ли переупорядочение перетаскивания и элементов с помощью событий, которые вы реализуете.

Anchor

Возвращает или задает края контейнера, к которому привязан объект ToolStripItem , и определяет, как ToolStripItem изменяется размер родительского элемента.

AutoSize

Возвращает или задает значение, указывающее, имеет ли элемент автоматический размер.

AutoToolTip

Возвращает или задает значение, указывающее, следует ли использовать Text свойство или ToolTipText свойство для подсказки ToolStripItem .

Available

Возвращает или задает значение, указывающее, следует ли ToolStripItem помещать его в объект ToolStrip.

BackColor

Возвращает или задает цвет фона для элемента.

BackgroundImage

Возвращает или задает фоновое изображение, отображаемое в элементе.

BackgroundImageLayout

Возвращает или задает макет фонового изображения, используемый для объекта ToolStripItem.

BindingContext

Возвращает или задает коллекцию диспетчеров валют для IBindableComponent.

(Унаследовано от BindableComponent)
Bounds

Возвращает размер и расположение элемента.

CanRaiseEvents

Возвращает значение, указывающее, может ли компонент вызвать событие.

(Унаследовано от Component)
CanSelect

Возвращает значение, указывающее, можно ли выбрать элемент.

Command

Возвращает или задает ICommand метод, метод которого Execute(Object) будет вызываться при вызове события ToolStripItem Click .

CommandParameter

Возвращает или задает параметр, передаваемый ICommand свойству Command .

Container

Возвращает объект IContainer , содержащий Componentобъект .

(Унаследовано от Component)
ContentRectangle

Возвращает область, в которой содержимое, например текст и значки, можно разместить в пределах ToolStripItem без перезаписи фоновых границ.

DataBindings

Возвращает коллекцию объектов привязки данных для этого IBindableComponent.

(Унаследовано от BindableComponent)
DefaultAutoToolTip

Возвращает значение, указывающее, следует ли отображать значение ToolTip , определенное как значение по умолчанию.

DefaultDisplayStyle

Возвращает значение, указывающее, что отображается в элементе ToolStripItem.

DefaultMargin

Возвращает поле по умолчанию элемента.

DefaultPadding

Возвращает характеристики внутреннего интервала элемента.

DefaultSize

Возвращает размер элемента по умолчанию.

DesignMode

Возвращает значение, указывающее, находится ли текущий Component режим разработки.

(Унаследовано от Component)
DismissWhenClicked

Возвращает значение, указывающее, скрыты ли элементы при ToolStripDropDown щелчке.

DisplayStyle

Возвращает или задает, отображаются ли текст и изображения в объекте ToolStripItem.

Dock

Возвращает или задает, какие ToolStripItem границы закреплены к родительскому элементу управления и определяют ToolStripItem изменение размера родительского элемента управления.

DoubleClickEnabled

Возвращает или задает значение, указывающее, можно ли ToolStripItem активировать, дважды щелкнув мышь.

Enabled

Возвращает или задает значение, указывающее, включен ли родительский элемент управления ToolStripItem .

Events

Возвращает список обработчиков событий, подключенных к этому Component.

(Унаследовано от Component)
Font

Возвращает или задает шрифт текста, отображаемого элементом.

ForeColor

Возвращает или задает цвет переднего плана элемента.

Height

Возвращает или задает высоту (в пикселях ToolStripItem).

Image

Возвращает или задает изображение, отображаемое на объекте ToolStripItem.

ImageAlign

Возвращает или задает выравнивание изображения на объекте ToolStripItem.

ImageIndex

Возвращает или задает значение индекса изображения, отображаемого на элементе.

ImageKey

Возвращает или задает метод доступа к ключу для изображения, отображаемого в ImageList объекте ToolStripItem.

ImageScaling

Возвращает или задает значение, указывающее, изменяется ли изображение в ToolStripItem контейнере автоматически.

ImageTransparentColor

Получает или задает цвет, который будет рассматриваться как прозрачный в изображении ToolStripItem .

IsDisposed

Возвращает значение, указывающее, был ли удален объект.

IsOnDropDown

Возвращает значение, указывающее, является Controlли контейнер текущего ToolStripDropDown .

IsOnOverflow

Возвращает значение, указывающее, задано ли Placement свойство Overflow.

Margin

Возвращает или задает пространство между элементом и смежными элементами.

MergeAction

Возвращает или задает способ объединения дочерних меню с родительскими менюми.

MergeIndex

Возвращает или задает положение объединенного элемента в текущем ToolStrip.

Name

Возвращает или задает имя элемента.

Overflow

Возвращает или задает, подключен ли элемент к ToolStrip нему или ToolStripOverflowButton может быть плавать между двумя.

Owner

Возвращает или задает владельца этого элемента.

OwnerItem

Возвращает родительский элемент ToolStripItem этого ToolStripItemэлемента.

Padding

Возвращает или задает внутренний интервал (в пикселях) между содержимым элемента и его краями.

Parent

Возвращает или задает родительский контейнер объекта ToolStripItem.

Placement

Возвращает текущий макет элемента.

Pressed

Возвращает значение, указывающее, нажимается ли состояние элемента.

Renderer

Возвращает отрисовщик родительского ToolStripобъекта.

RightToLeft

Возвращает или задает значение, указывающее, должны ли элементы размещаться справа налево, а текст должен быть записан справа налево.

RightToLeftAutoMirrorImage

Автоматически зеркально ToolStripItem отображает изображение, если RightToLeft свойству присвоено значение Yes.

Selected

Возвращает значение, указывающее, выбран ли элемент.

ShowKeyboardCues

Возвращает значение, указывающее, следует ли отображать или скрывать сочетания клавиш.

Site

Возвращает или задает ISite объект Component.

(Унаследовано от Component)
Size

Возвращает или задает размер элемента.

Tag

Возвращает или задает объект, содержащий данные об элементе.

Text

Возвращает или задает текст, отображаемый на элементе.

TextAlign

Возвращает или задает выравнивание текста в объекте ToolStripLabel.

TextDirection

Возвращает ориентацию текста, используемого в объекте ToolStripItem.

TextImageRelation

Возвращает или задает положение ToolStripItem текста и изображения относительно друг друга.

ToolTipText

Возвращает или задает текст, который отображается как ToolTip элемент управления.

Visible

Возвращает или задает значение, указывающее, отображается ли элемент.

Width

Возвращает или задает ширину в пикселях ToolStripItem.

Методы

Имя Описание
CreateAccessibilityInstance()

Создает новый объект специальных возможностей для объекта ToolStripItem.

CreateObjRef(Type)

Создает объект, содержащий все соответствующие сведения, необходимые для создания прокси-сервера, используемого для взаимодействия с удаленным объектом.

(Унаследовано от MarshalByRefObject)
Dispose()

Освобождает все ресурсы, используемые параметром Component.

(Унаследовано от Component)
Dispose(Boolean)

Освобождает неуправляемые ресурсы, используемые ToolStripItem и при необходимости освобождает управляемые ресурсы.

DoDragDrop(Object, DragDropEffects, Bitmap, Point, Boolean)

Начинает операцию перетаскивания.

DoDragDrop(Object, DragDropEffects)

Начинает операцию перетаскивания.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetCurrentParent()

Извлекает ToolStrip контейнер текущего ToolStripItemобъекта.

GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetLifetimeService()
Устаревшие..

Извлекает текущий объект службы времени существования, который управляет политикой времени существования для этого экземпляра.

(Унаследовано от MarshalByRefObject)
GetPreferredSize(Size)

Извлекает размер прямоугольной области, в которую можно поместить элемент управления.

GetService(Type)

Возвращает объект, представляющий службу, предоставляемую Component или ее Container.

(Унаследовано от Component)
GetType()

Возвращает Type текущего экземпляра.

(Унаследовано от Object)
InitializeLifetimeService()
Устаревшие..

Получает объект службы времени существования для управления политикой времени существования для этого экземпляра.

(Унаследовано от MarshalByRefObject)
Invalidate()

Отменяет всю поверхность ToolStripItem и приводит к повторному выводу.

Invalidate(Rectangle)

Отменяет указанный регион, добавив его в область ToolStripItemToolStripItemобновления области обновления, которая будет перезапущена при следующей операции краски, и приводит к отправке ToolStripItemсообщения о краске.

IsInputChar(Char)

Определяет, является ли символ входным символом, распознаваемый элементом.

IsInputKey(Keys)

Определяет, является ли указанный ключ обычным входным ключом или специальным ключом, требующим предварительной обработки.

MemberwiseClone()

Создает неглубокую копию текущей Object.

(Унаследовано от Object)
MemberwiseClone(Boolean)

Создает неглубокую копию текущего MarshalByRefObject объекта.

(Унаследовано от MarshalByRefObject)
OnAvailableChanged(EventArgs)

Вызывает событие AvailableChanged.

OnBackColorChanged(EventArgs)

Вызывает событие BackColorChanged.

OnBindingContextChanged(EventArgs)

Вызывает событие BindingContextChanged.

(Унаследовано от BindableComponent)
OnBoundsChanged()

Происходит при Bounds изменении свойства.

OnClick(EventArgs)

Вызывает событие Click.

OnCommandCanExecuteChanged(EventArgs)

Вызывает событие CommandCanExecuteChanged.

OnCommandChanged(EventArgs)

Вызывает событие CommandChanged.

OnCommandParameterChanged(EventArgs)

Вызывает событие CommandParameterChanged.

OnDisplayStyleChanged(EventArgs)

Вызывает событие DisplayStyleChanged.

OnDoubleClick(EventArgs)

Вызывает событие DoubleClick.

OnDragDrop(DragEventArgs)

Вызывает событие DragDrop.

OnDragEnter(DragEventArgs)

Вызывает событие DragEnter.

OnDragLeave(EventArgs)

Вызывает событие DragLeave.

OnDragOver(DragEventArgs)

Вызывает событие DragOver.

OnEnabledChanged(EventArgs)

Вызывает событие EnabledChanged.

OnFontChanged(EventArgs)

Вызывает событие FontChanged.

OnForeColorChanged(EventArgs)

Вызывает событие ForeColorChanged.

OnGiveFeedback(GiveFeedbackEventArgs)

Вызывает событие GiveFeedback.

OnLayout(LayoutEventArgs)

Вызывает событие Layout.

OnLocationChanged(EventArgs)

Вызывает событие LocationChanged.

OnMouseDown(MouseEventArgs)

Вызывает событие MouseDown.

OnMouseEnter(EventArgs)

Вызывает событие MouseEnter.

OnMouseHover(EventArgs)

Вызывает событие MouseHover.

OnMouseLeave(EventArgs)

Вызывает событие MouseLeave.

OnMouseMove(MouseEventArgs)

Вызывает событие MouseMove.

OnMouseUp(MouseEventArgs)

Вызывает событие MouseUp.

OnOwnerChanged(EventArgs)

Вызывает событие OwnerChanged.

OnOwnerFontChanged(EventArgs)

FontChanged Вызывает событие, когда Font свойство изменилось в родительском элементе ToolStripItemобъекта.

OnPaint(PaintEventArgs)

Вызывает событие Paint.

OnParentBackColorChanged(EventArgs)

Вызывает событие BackColorChanged.

OnParentChanged(ToolStrip, ToolStrip)

Вызывает событие ParentChanged.

OnParentEnabledChanged(EventArgs)

EnabledChanged Вызывает событие при Enabled изменении значения свойства контейнера элемента.

OnParentForeColorChanged(EventArgs)

Вызывает событие ForeColorChanged.

OnParentRightToLeftChanged(EventArgs)

Вызывает событие RightToLeftChanged.

OnQueryContinueDrag(QueryContinueDragEventArgs)

Вызывает событие QueryContinueDrag.

OnRequestCommandExecute(EventArgs)

Вызывается в контексте вызоваOnClick(EventArgs), если контекст Execute(Object) разрешает.

OnRightToLeftChanged(EventArgs)

Вызывает событие RightToLeftChanged.

OnSelectedChanged(EventArgs)

Вызывает событие SelectedChanged.

OnTextChanged(EventArgs)

Вызывает событие TextChanged.

OnVisibleChanged(EventArgs)

Вызывает событие VisibleChanged.

PerformClick()

Click Создает событие для ToolStripItem.

ProcessCmdKey(Message, Keys)

Обрабатывает ключ команды.

ProcessDialogKey(Keys)

Обрабатывает ключ диалогового окна.

ProcessMnemonic(Char)

Обрабатывает mnemonic символ.

ResetBackColor()

Этот метод не относится к этому классу.

ResetDisplayStyle()

Этот метод не относится к этому классу.

ResetFont()

Этот метод не относится к этому классу.

ResetForeColor()

Этот метод не относится к этому классу.

ResetImage()

Этот метод не относится к этому классу.

ResetMargin()

Этот метод не относится к этому классу.

ResetPadding()

Этот метод не относится к этому классу.

ResetRightToLeft()

Этот метод не относится к этому классу.

ResetTextDirection()

Этот метод не относится к этому классу.

Select()

Выбирает элемент.

SetBounds(Rectangle)

Задает размер и расположение элемента.

SetVisibleCore(Boolean)

Задает указанное видимое ToolStripItem состояние.

ToString()

String Возвращает имя, содержащее имя , если таковое Componentимеется. Этот метод не должен быть переопределен.

События

Имя Описание
AvailableChanged

Происходит при изменении значения свойства Available.

BackColorChanged

Происходит при изменении значения свойства BackColor.

BindingContextChanged

Происходит при изменении контекста привязки.

(Унаследовано от BindableComponent)
Click

Происходит при ToolStripItem щелчке.

CommandCanExecuteChanged

Происходит при CanExecute(Object) изменении состояния ICommand свойства, назначенного свойству Command .

CommandChanged

Происходит при изменении назначенного ICommandCommand свойства.

CommandParameterChanged

Происходит при изменении значения CommandParameter свойства.

DisplayStyleChanged

Происходит при DisplayStyle изменении.

Disposed

Происходит при удалении компонента вызовом Dispose() метода.

(Унаследовано от Component)
DoubleClick

Происходит, когда элемент дважды щелкается мышью.

DragDrop

Происходит, когда пользователь перетаскивает элемент и пользователь освобождает кнопку мыши, указывая, что элемент должен быть удален в этот элемент.

DragEnter

Происходит, когда пользователь перетаскивает элемент в клиентную область этого элемента.

DragLeave

Происходит, когда пользователь перетаскивает элемент, а указатель мыши больше не находится в клиентской области этого элемента.

DragOver

Происходит, когда пользователь перетаскивает элемент по клиентской области этого элемента.

EnabledChanged

Происходит, если значение свойства Enabled было изменено.

ForeColorChanged

Происходит при ForeColor изменении значения свойства.

GiveFeedback

Происходит во время операции перетаскивания.

LocationChanged

Происходит при обновлении расположения объекта ToolStripItem .

MouseDown

Происходит при нажатии указателя мыши на элемент и нажатия кнопки мыши.

MouseEnter

Происходит при вводе указателя мыши на элемент.

MouseHover

Происходит при наведении указателя мыши на элемент.

MouseLeave

Происходит, когда указатель мыши покидает элемент.

MouseMove

Происходит при перемещении указателя мыши по элементу.

MouseUp

Происходит, когда указатель мыши находится на элементе и кнопка мыши освобождается.

OwnerChanged

Происходит при Owner изменении свойства.

Paint

Происходит при повторном удалении элемента.

QueryAccessibilityHelp

Происходит при вызове клиентского приложения специальных возможностей для справки ToolStripItem.

QueryContinueDrag

Происходит во время операции перетаскивания и позволяет источнику перетаскивания определить, следует ли отменить операцию перетаскивания.

RightToLeftChanged

Происходит при RightToLeft изменении значения свойства.

SelectedChanged

Происходит при изменении значения свойства Selected.

TextChanged

Происходит при изменении значения свойства Text.

VisibleChanged

Происходит при изменении значения свойства Visible.

Явные реализации интерфейса

Имя Описание
IDropTarget.OnDragDrop(DragEventArgs)

Вызывает событие DragDrop.

IDropTarget.OnDragEnter(DragEventArgs)

Вызывает событие DragEnter.

IDropTarget.OnDragLeave(EventArgs)

Вызывает событие DragLeave.

IDropTarget.OnDragOver(DragEventArgs)

Вызывает событие DragOver.

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

См. также раздел