ToolStripItem Clase

Definición

Representa la clase base abstracta que administra los eventos y el diseño de todos los elementos que ToolStrip o ToolStripDropDown puede contener.

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
Herencia
Herencia
Derivado
Implementaciones

Ejemplos

En el ejemplo de código siguiente se muestra cómo implementar un control personalizado 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

Comentarios

es ToolStripItem un elemento como un botón, un cuadro combinado, un cuadro de texto o una etiqueta que se puede contener en un ToolStrip control o un ToolStripDropDown control, que es similar a un menú contextual de Windows. La ToolStrip clase administra la entrada de dibujo y teclado y mouse, incluida la entrada de arrastrar y colocar, para estos elementos, y la clase administra los eventos y el ToolStripItem diseño dentro de los propios elementos.

Las clases ToolStripItem heredan directamente de ToolStripItem o bien heredan indirectamente de ToolStripItem a través de ToolStripControlHost o de ToolStripDropDownItem.

Los controles ToolStripItem deben estar contenidos en un elemento ToolStrip, MenuStrip, StatusStrip o ContextMenuStrip y no se pueden agregar directamente a un formulario. Las distintas clases de contenedor están diseñadas para contener un subconjunto adecuado de controles ToolStripItem.

Nota Un determinado ToolStripItem no puede tener más de un elemento primario ToolStrip. Debe copiar y ToolStripItem agregarlo a otros ToolStrip controles.

En la tabla siguiente se muestran los elementos que derivan de la ToolStripItem clase y, por tanto, se pueden hospedar en o ToolStripToolStripDropDown.

Elemento Descripción
ToolStripButton Botón de barra de herramientas que admite imágenes y texto.
ToolStripLabel Una etiqueta de texto que normalmente se usa en una barra de estado o ToolStrip como comentario o título.
ToolStripSeparator Espacio o espacio no seleccionable con una barra vertical que agrupa visualmente los elementos.
ToolStripControlHost que ToolStripItem hospeda un ToolStripComboBoxcontrol , ToolStripTextBox, ToolStripProgressBarotros controles de Windows Forms o controles personalizados.

Es ToolStripComboBox un cuadro de texto en el que el usuario puede escribir texto, junto con una lista de la que el usuario puede seleccionar texto para rellenar el cuadro de texto.

Permite ToolStripTextBox al usuario escribir texto.

ToolStripProgressBar un objeto representa un control de barra de progreso de Windows contenido en un StatusStripobjeto .
ToolStripDropDownItem que ToolStripItem hospeda , ToolStripMenuItemToolStripSplitButtony ToolStripDropDownButton.

A ToolStripMenuItem es una opción seleccionable que se muestra en un menú o menú contextual.

Es ToolStripSplitButton una combinación de un botón normal y un botón desplegable.

Es ToolStripDropDownButton un botón que admite la funcionalidad desplegable.
ToolStripStatusLabel Panel de un StatusStrip control.

Constructores

ToolStripItem()

Inicializa una nueva instancia de la clase ToolStripItem.

ToolStripItem(String, Image, EventHandler)

Inicializa una nueva instancia de la clase ToolStripItem con el nombre, la imagen y el controlador de eventos especificados.

ToolStripItem(String, Image, EventHandler, String)

Inicializa una nueva instancia de la clase ToolStripItem con el texto para mostrar, la imagen, el controlador de eventos y el nombre especificados.

Propiedades

AccessibilityObject

Obtiene AccessibleObject asignado al control.

AccessibleDefaultActionDescription

Obtiene o establece la descripción de la acción predeterminada del control que usan las aplicaciones cliente de accesibilidad.

AccessibleDescription

Obtiene o establece la descripción de la que se informará a las aplicaciones cliente de accesibilidad.

AccessibleName

Obtiene o establece el nombre del control que las aplicaciones cliente de accesibilidad van a utilizar.

AccessibleRole

Obtiene o establece el rol accesible del control, que especifica el tipo de elemento de la interfaz de usuario del control.

Alignment

Obtiene o establece un valor que indica si el elemento se alinea hacia el principio o hacia al final del ToolStrip.

AllowDrop

Obtiene o establece un valor que indica si las operaciones de arrastrar y colocar y la reordenación de elementos se controlan mediante eventos que se implementan.

Anchor

Obtiene o establece los bordes del contenedor al que está enlazado un ToolStripItem y determina cómo se cambia el tamaño de un ToolStripItem con su elemento primario.

AutoSize

Obtiene o establece un valor que indica si el tamaño del elemento se ajusta automáticamente.

AutoToolTip

Obtiene o establece un valor que indica si se utilizará la propiedad Text o la propiedad ToolTipText para la información sobre herramientas del ToolStripItem.

Available

Obtiene o establece un valor que indica si el ToolStripItem debe colocarse en un ToolStrip.

BackColor

Obtiene o establece el color de fondo del elemento.

BackgroundImage

Obtiene o establece la imagen de fondo que se muestra en el elemento.

BackgroundImageLayout

Obtiene o establece el diseño de la imagen de fondo que se utiliza para ToolStripItem.

BindingContext

Obtiene o establece la colección de administradores de moneda para IBindableComponent.

(Heredado de BindableComponent)
Bounds

Obtiene el tamaño y la ubicación del elemento.

CanRaiseEvents

Obtiene un valor que indica si el componente puede generar un evento.

(Heredado de Component)
CanSelect

Obtiene un valor que indica si el elemento se puede seleccionar.

Command

Obtiene o establece el ICommand cuyo Execute(Object) método se llamará cuando se invoque el evento ToolStripItem Click .

CommandParameter

Obtiene o establece el parámetro que se pasa al ICommand objeto asignado a la Command propiedad .

Container

Obtiene la interfaz IContainer que contiene la clase Component.

(Heredado de Component)
ContentRectangle

Obtiene el área donde se puede colocar contenido, como texto e iconos, dentro de un ToolStripItem sin sobrescribir los bordes de fondo.

DataBindings

Obtiene la colección de objetos de enlace de datos para esta interfaz IBindableComponent.

(Heredado de BindableComponent)
DefaultAutoToolTip

Obtiene un valor que indica si se mostrará el ToolTip que está definido como valor predeterminado.

DefaultDisplayStyle

Obtiene un valor que indica lo que se mostrará en el ToolStripItem.

DefaultMargin

Obtiene el margen predeterminado de un elemento.

DefaultPadding

Obtiene las características de espaciado interno del elemento.

DefaultSize

Obtiene el tamaño predeterminado del elemento.

DesignMode

Obtiene un valor que indica si Component está actualmente en modo de diseño.

(Heredado de Component)
DismissWhenClicked

Obtiene un valor que indica si los elementos de un ToolStripDropDown están ocultos una vez que se ha hecho clic en ellos.

DisplayStyle

Obtiene o establece si se muestran el texto y las imágenes en un ToolStripItem.

Dock

Obtiene o establece que los bordes del elemento ToolStripItem se acoplarán a su control principal y determina cómo se cambia el tamaño de un elemento ToolStripItem con su elemento primario.

DoubleClickEnabled

Obtiene o establece un valor que indica si se puede activar ToolStripItem haciendo doble clic con el mouse.

Enabled

Obtiene o establece un valor que indica si el control primario del formulario ToolStripItem está habilitado.

Events

Obtiene la lista de controladores de eventos asociados a Component.

(Heredado de Component)
Font

Obtiene o establece la fuente del texto que muestra el elemento.

ForeColor

Obtiene o establece el color de primer plano del elemento.

Height

Obtiene o establece el alto, en píxeles, de un ToolStripItem.

Image

Obtiene o establece la imagen que se muestra en un control ToolStripItem.

ImageAlign

Obtiene o establece la alineación de la imagen en un ToolStripItem.

ImageIndex

Obtiene o establece el valor de índice de la imagen mostrada en el elemento.

ImageKey

Obtiene o establece el descriptor de acceso clave para la imagen en ImageList que se muestra en un ToolStripItem asociado.

ImageScaling

Obtiene o establece un valor que indica si se cambia automáticamente de tamaño una imagen de un ToolStripItem para ajustarla a un contenedor.

ImageTransparentColor

Obtiene o establece el color que se va a tratar como transparente en una imagen de ToolStripItem.

IsDisposed

Obtiene un valor que indica si el objeto se ha eliminado.

IsOnDropDown

Obtiene un valor que indica si el contenedor del Control actual es un ToolStripDropDown.

IsOnOverflow

Obtiene un valor que indica si la propiedad Placement se establece en Overflow.

Margin

Obtiene o establece el espacio que hay entre el elemento y los elementos adyacentes.

MergeAction

Obtiene o establece cómo se combinan los menús secundarios con los menús primarios.

MergeIndex

Obtiene o establece la posición de un elemento combinado dentro del ToolStrip actual.

Name

Obtiene o establece el nombre del elemento.

Overflow

Obtiene o establece si el elemento se asocia al ToolStrip o ToolStripOverflowButton, o si puede flotar entre los dos.

Owner

Obtiene o establece el propietario de este elemento.

OwnerItem

Obtiene el ToolStripItem primario de ToolStripItem.

Padding

Obtiene o establece el espaciado interno, en píxeles, que hay entre el contenido del elemento y sus bordes.

Parent

Obtiene o establece el contenedor principal del ToolStripItem.

Placement

Obtiene el diseño actual del elemento.

Pressed

Obtiene un valor que indica si el estado del elemento es presionado.

RightToLeft

Obtiene o establece un valor que indica si los elementos se colocarán de derecha a izquierda y si el texto se escribirá de derecha a izquierda.

RightToLeftAutoMirrorImage

Refleja automáticamente la imagen del ToolStripItem cuando la propiedad RightToLeft se establece en Yes.

Selected

Obtiene un valor que indica si el elemento está seleccionado.

ShowKeyboardCues

Obtiene un valor que indica si se mostrarán u ocultarán las teclas de método abreviado.

Site

Obtiene o establece ISite de Component.

(Heredado de Component)
Size

Obtiene o establece el tamaño del elemento.

Tag

Obtiene o establece un objeto que contiene datos sobre el elemento.

Text

Obtiene o establece el texto que se mostrará en el elemento.

TextAlign

Obtiene o establece la alineación del texto en un ToolStripLabel.

TextDirection

Obtiene la orientación de texto utilizada en un ToolStripItem.

TextImageRelation

Obtiene o establece la posición del texto y de la imagen de un ToolStripItem entre sí.

ToolTipText

Obtiene o establece el texto que aparece como ToolTip para un control.

Visible

Obtiene o establece un valor que indica si se muestra el elemento.

Width

Obtiene o establece el ancho, en píxeles, de un ToolStripItem.

Métodos

CreateAccessibilityInstance()

Crea un nuevo objeto de accesibilidad para ToolStripItem.

CreateObjRef(Type)

Crea un objeto que contiene toda la información relevante necesaria para generar un proxy utilizado para comunicarse con un objeto remoto.

(Heredado de MarshalByRefObject)
Dispose()

Libera todos los recursos que usa Component.

(Heredado de Component)
Dispose(Boolean)

Libera los recursos no administrados que usa ToolStripItem y, de forma opcional, libera los recursos administrados.

DoDragDrop(Object, DragDropEffects)

Inicia una operación de arrastrar y colocar.

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

Comienza una operación de arrastre.

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetCurrentParent()

Recupera el ToolStrip que es el contenedor del ToolStripItem actual.

GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetLifetimeService()
Obsoletos.

Recupera el objeto de servicio de duración actual que controla la directiva de duración de esta instancia.

(Heredado de MarshalByRefObject)
GetPreferredSize(Size)

Recupera el tamaño de un área rectangular en la que puede caber un control.

GetService(Type)

Devuelve un objeto que representa el servicio suministrado por Component o por Container.

(Heredado de Component)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
InitializeLifetimeService()
Obsoletos.

Obtiene un objeto de servicio de duración para controlar la directiva de duración de esta instancia.

(Heredado de MarshalByRefObject)
Invalidate()

Invalida toda la superficie de ToolStripItem y hace que se vuelva a dibujar.

Invalidate(Rectangle)

Invalida la región especificada de ToolStripItem agregándola a la región de actualización de ToolStripItem, que es el área que volverá a dibujarse en la siguiente operación de dibujo y hace que se envíe un mensaje de dibujo a ToolStripItem.

IsInputChar(Char)

Determina si un carácter es un carácter de entrada que el elemento reconoce.

IsInputKey(Keys)

Determina si la tecla especificada es una tecla de entrada normal o una tecla especial que requiere preprocesamiento.

MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
MemberwiseClone(Boolean)

Crea una copia superficial del objeto MarshalByRefObject actual.

(Heredado de MarshalByRefObject)
OnAvailableChanged(EventArgs)

Genera el evento AvailableChanged.

OnBackColorChanged(EventArgs)

Genera el evento BackColorChanged.

OnBindingContextChanged(EventArgs)

Genera el evento BindingContextChanged.

(Heredado de BindableComponent)
OnBoundsChanged()

Se produce cuando cambia la propiedad Bounds.

OnClick(EventArgs)

Genera el evento Click.

OnCommandCanExecuteChanged(EventArgs)

Genera el evento CommandCanExecuteChanged.

OnCommandChanged(EventArgs)

Genera el evento CommandChanged.

OnCommandParameterChanged(EventArgs)

Genera el evento CommandParameterChanged.

OnDisplayStyleChanged(EventArgs)

Genera el evento DisplayStyleChanged.

OnDoubleClick(EventArgs)

Genera el evento DoubleClick.

OnDragDrop(DragEventArgs)

Genera el evento DragDrop.

OnDragEnter(DragEventArgs)

Genera el evento DragEnter.

OnDragLeave(EventArgs)

Genera el evento DragLeave.

OnDragOver(DragEventArgs)

Genera el evento DragOver.

OnEnabledChanged(EventArgs)

Genera el evento EnabledChanged.

OnFontChanged(EventArgs)

Genera el evento FontChanged.

OnForeColorChanged(EventArgs)

Genera el evento ForeColorChanged.

OnGiveFeedback(GiveFeedbackEventArgs)

Genera el evento GiveFeedback.

OnLayout(LayoutEventArgs)

Genera el evento Layout.

OnLocationChanged(EventArgs)

Genera el evento LocationChanged.

OnMouseDown(MouseEventArgs)

Genera el evento MouseDown.

OnMouseEnter(EventArgs)

Genera el evento MouseEnter.

OnMouseHover(EventArgs)

Genera el evento MouseHover.

OnMouseLeave(EventArgs)

Genera el evento MouseLeave.

OnMouseMove(MouseEventArgs)

Genera el evento MouseMove.

OnMouseUp(MouseEventArgs)

Genera el evento MouseUp.

OnOwnerChanged(EventArgs)

Genera el evento OwnerChanged.

OnOwnerFontChanged(EventArgs)

Provoca el evento FontChanged cuando la propiedad Font ha cambiado en el elemento primario de ToolStripItem.

OnPaint(PaintEventArgs)

Genera el evento Paint.

OnParentBackColorChanged(EventArgs)

Genera el evento BackColorChanged.

OnParentChanged(ToolStrip, ToolStrip)

Genera el evento ParentChanged.

OnParentEnabledChanged(EventArgs)

Provoca el evento EnabledChanged cuando cambia el valor de la propiedad Enabled del contenedor del elemento.

OnParentForeColorChanged(EventArgs)

Genera el evento ForeColorChanged.

OnParentRightToLeftChanged(EventArgs)

Genera el evento RightToLeftChanged.

OnQueryContinueDrag(QueryContinueDragEventArgs)

Genera el evento QueryContinueDrag.

OnRequestCommandExecute(EventArgs)

Se llama en el contexto de OnClick(EventArgs) para invocar Execute(Object) si el contexto permite.

OnRightToLeftChanged(EventArgs)

Genera el evento RightToLeftChanged.

OnSelectedChanged(EventArgs)

Representa la clase base abstracta que administra los eventos y el diseño de todos los elementos que ToolStrip o ToolStripDropDown puede contener.

OnTextChanged(EventArgs)

Genera el evento TextChanged.

OnVisibleChanged(EventArgs)

Genera el evento VisibleChanged.

PerformClick()

Genera un evento Click para un ToolStripItem.

ProcessCmdKey(Message, Keys)

Procesa una tecla de comando.

ProcessDialogKey(Keys)

Procesa una tecla de diálogo.

ProcessMnemonic(Char)

Procesa un carácter de tecla de acceso.

ResetBackColor()

Este método no es relevante para esta clase.

ResetDisplayStyle()

Este método no es relevante para esta clase.

ResetFont()

Este método no es relevante para esta clase.

ResetForeColor()

Este método no es relevante para esta clase.

ResetImage()

Este método no es relevante para esta clase.

ResetMargin()

Este método no es relevante para esta clase.

ResetPadding()

Este método no es relevante para esta clase.

ResetRightToLeft()

Este método no es relevante para esta clase.

ResetTextDirection()

Este método no es relevante para esta clase.

Select()

Selecciona el elemento.

SetBounds(Rectangle)

Establece el tamaño y la ubicación del elemento.

SetVisibleCore(Boolean)

Establece el ToolStripItem en el estado de visibilidad especificado.

ToString()

Devuelve una String que contiene el nombre del Component, si existe. Este método no se debe invalidar.

Eventos

AvailableChanged

Se produce cuando cambia el valor de la propiedad Available.

BackColorChanged

Se produce cuando cambia el valor de la propiedad BackColor.

BindingContextChanged

Se produce cuando el contexto de enlace ha cambiado.

(Heredado de BindableComponent)
Click

Se produce cuando se hace clic en ToolStripItem.

CommandCanExecuteChanged

Se produce cuando el CanExecute(Object) estado de que ICommand está asignado a la Command propiedad ha cambiado.

CommandChanged

Se produce cuando ha cambiado la asignación ICommand de la Command propiedad .

CommandParameterChanged

Se produce cuando cambia el valor de la propiedad CommandParameter.

DisplayStyleChanged

Se produce cuando DisplayStyle ha cambiado.

Disposed

Tiene lugar cuando una llamada elimina el componente mediante una llamada al método Dispose().

(Heredado de Component)
DoubleClick

Se produce cuando se hace doble clic en el elemento con el mouse.

DragDrop

Se produce cuando el usuario arrastra un elemento y el usuario suelta el botón del mouse, lo que indica que el elemento debe colocarse en este elemento.

DragEnter

Se produce cuando el usuario arrastra un elemento al área cliente de este elemento.

DragLeave

Se produce cuando el usuario arrastra un elemento y el puntero del mouse ya no está sobre el área cliente de este elemento.

DragOver

Se produce cuando el usuario arrastra un elemento sobre el área cliente de este elemento.

EnabledChanged

Se produce cuando cambia el valor de la propiedad Enabled.

ForeColorChanged

Se produce cuando cambia el valor de la propiedad ForeColor.

GiveFeedback

Se produce durante una operación de arrastre.

LocationChanged

Se produce cuando se actualiza la ubicación de un ToolStripItem.

MouseDown

Se produce cuando el puntero del mouse se encuentra sobre el elemento y se presiona un botón del mouse.

MouseEnter

Se produce cuando el puntero del mouse entra en el elemento.

MouseHover

Se produce cuando el puntero del mouse se desplaza sobre el elemento.

MouseLeave

Se produce cuando el puntero del mouse sale del elemento.

MouseMove

Se produce cuando el puntero del mouse se mueve sobre el elemento.

MouseUp

Se produce cuando el puntero del mouse está sobre el elemento y se suelta un botón del mouse.

OwnerChanged

Se produce cuando cambia la propiedad Owner.

Paint

Se produce cuando vuelve a dibujarse el elemento.

QueryAccessibilityHelp

Se produce cuando una aplicación cliente de accesibilidad invoca la ayuda para ToolStripItem.

QueryContinueDrag

Se produce durante una operación de arrastrar y colocar y permite al origen de arrastre determinar si la operación de arrastrar y colocar tiene que cancelarse.

RightToLeftChanged

Se produce cuando cambia el valor de la propiedad RightToLeft.

SelectedChanged

Representa la clase base abstracta que administra los eventos y el diseño de todos los elementos que ToolStrip o ToolStripDropDown puede contener.

TextChanged

Se produce cuando cambia el valor de la propiedad Text.

VisibleChanged

Se produce cuando cambia el valor de la propiedad Visible.

Implementaciones de interfaz explícitas

IDropTarget.OnDragDrop(DragEventArgs)

Genera el evento DragDrop.

IDropTarget.OnDragEnter(DragEventArgs)

Genera el evento DragEnter.

IDropTarget.OnDragLeave(EventArgs)

Genera el evento DragLeave.

IDropTarget.OnDragOver(DragEventArgs)

Genera el evento DragOver.

Se aplica a

Consulte también