Partager via


ToolStripItem Classe

Définition

Représente la classe de base abstraite qui gère des événements et la disposition pour tous les éléments que ToolStrip ou ToolStripDropDown peut contenir.

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
Héritage
Héritage
Dérivé
Implémente

Exemples

L’exemple de code suivant montre comment implémenter un contrôle personnalisé 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

Remarques

Un ToolStripItem est un élément tel qu’un bouton, une zone de liste déroulante, une zone de texte ou une étiquette qui peut être contenu dans un ToolStrip contrôle ou un ToolStripDropDown contrôle, ce qui est similaire à un menu contextuel Windows. La ToolStrip classe gère la peinture et l’entrée au clavier et à la souris, y compris l’entrée glisser-déplacer, pour ces éléments, et la classe gère les événements et la ToolStripItem disposition au sein des éléments eux-mêmes.

ToolStripItem les classes héritent directement de ToolStripItem, ou elles héritent indirectement de ToolStripItem via ToolStripControlHost ou ToolStripDropDownItem.

ToolStripItem les contrôles doivent être contenus dans un ToolStrip, MenuStrip, StatusStripou ContextMenuStrip et ne peuvent pas être ajoutés directement à un formulaire. Les différentes classes de conteneurs sont conçues pour contenir un sous-ensemble approprié de ToolStripItem contrôles.

Note Un donné ToolStripItem ne peut pas avoir plusieurs parents ToolStrip. Vous devez copier le et l’ajouter ToolStripItem à d’autres ToolStrip contrôles.

Le tableau suivant montre les éléments qui dérivent de la ToolStripItem classe et qui peuvent donc être hébergés dans un ToolStrip ou ToolStripDropDown.

Élément Description
ToolStripButton Bouton de barre d’outils qui prend en charge les images et le texte.
ToolStripLabel Étiquette de texte généralement utilisée dans une barre d’status ou ToolStrip comme commentaire ou titre.
ToolStripSeparator Espace non sélectionnable avec une barre verticale qui regroupe visuellement des éléments.
ToolStripControlHost ToolStripItem qui héberge un ToolStripComboBox, ToolStripTextBox, ToolStripProgressBar, d’autres contrôles Windows Forms ou des contrôles personnalisés.

Un ToolStripComboBox est une zone de texte dans laquelle l’utilisateur peut entrer du texte, ainsi qu’une liste à partir de laquelle l’utilisateur peut sélectionner du texte pour remplir la zone de texte.

Un ToolStripTextBox permet à l’utilisateur d’entrer du texte.

un ToolStripProgressBar représente un contrôle de barre de progression Windows contenu dans un StatusStrip.
ToolStripDropDownItem ToolStripItem qui héberge un ToolStripMenuItem, ToolStripSplitButtonet ToolStripDropDownButton.

Un ToolStripMenuItem est une option sélectionnable affichée dans un menu ou un menu contextuel.

Un ToolStripSplitButton est une combinaison d’un bouton normal et d’un bouton déroulant.

Un ToolStripDropDownButton est un bouton qui prend en charge la fonctionnalité de liste déroulante.
ToolStripStatusLabel Panneau dans un StatusStrip contrôle.

Constructeurs

ToolStripItem()

Initialise une nouvelle instance de la classe ToolStripItem.

ToolStripItem(String, Image, EventHandler)

Initialise une nouvelle instance de la classe ToolStripItem avec le nom, l'image et le gestionnaire d'événements spécifiés.

ToolStripItem(String, Image, EventHandler, String)

Initialise une nouvelle instance de la classe ToolStripItem avec le texte affiché, l'image, le gestionnaire d'événements et le nom spécifiés.

Propriétés

AccessibilityObject

Obtient le AccessibleObject assigné au contrôle.

AccessibleDefaultActionDescription

Obtient ou définit la description d'action par défaut du contrôle destinée aux applications clientes d'accessibilité.

AccessibleDescription

Obtient ou définit la description qui sera indiquée aux applications d'accessibilité.

AccessibleName

Obtient ou définit le nom du contrôle pour une utilisation par des applications d'accessibilité.

AccessibleRole

Obtient ou définit le rôle accessible du contrôle qui spécifie le type d'élément d'interface utilisateur du contrôle.

Alignment

Obtient ou définit une valeur indiquant si l'élément est aligné au début ou à la fin de ToolStrip.

AllowDrop

Obtient ou définit une valeur indiquant si le glisser-déposer et la réorganisation des éléments sont gérés par l’intermédiaire d’événements que vous implémentez.

Anchor

Obtient ou définit les bords du conteneur auquel un ToolStripItem est lié et détermine comment un ToolStripItem est redimensionné avec son parent.

AutoSize

Obtient ou définit une valeur indiquant si l'élément est automatiquement dimensionné.

AutoToolTip

Obtient ou définit une valeur indiquant s'il faut utiliser la propriété Text ou la propriété ToolTipText pour l'info-bulle ToolStripItem.

Available

Obtient ou définit une valeur indiquant si le ToolStripItem doit être placé sur un ToolStrip.

BackColor

Obtient ou définit la couleur d'arrière-plan de l'élément.

BackgroundImage

Obtient ou définit l'image d'arrière-plan affichée dans l'élément.

BackgroundImageLayout

Obtient ou définit la disposition d'image d'arrière-plan utilisée pour le ToolStripItem.

BindingContext

Obtient ou définit la collection de gestionnaires de devise pour IBindableComponent.

(Hérité de BindableComponent)
Bounds

Obtient la taille et l'emplacement de l'élément.

CanRaiseEvents

Obtient une valeur qui indique si le composant peut déclencher un événement.

(Hérité de Component)
CanSelect

Obtient une valeur indiquant si l'élément peut être sélectionné.

Command

Obtient ou définit la ICommand méthode dont Execute(Object) la méthode sera appelée lorsque l’événement ToolStripItem Click est appelé.

CommandParameter

Obtient ou définit le paramètre passé au ICommand qui est affecté à la Command propriété .

Container

Obtient le IContainer qui contient la Component.

(Hérité de Component)
ContentRectangle

Obtient la zone où du contenu, tel que du texte et des icônes, peut être placé dans un ToolStripItem sans substituer les bordures d'arrière-plan.

DataBindings

Obtient la collection d'objets de liaison de données pour ce IBindableComponent.

(Hérité de BindableComponent)
DefaultAutoToolTip

Obtient une valeur indiquant s'il faut afficher le ToolTip qui est défini comme valeur par défaut.

DefaultDisplayStyle

Obtient une valeur indiquant ce qui est affiché sur ToolStripItem.

DefaultMargin

Obtient la marge par défaut d'un élément.

DefaultPadding

Obtient les caractéristiques d'espacement interne de l'élément.

DefaultSize

Obtient la taille par défaut de l'élément.

DesignMode

Obtient une valeur qui indique si Component est actuellement en mode design.

(Hérité de Component)
DismissWhenClicked

Obtient une valeur indiquant si les éléments sur un ToolStripDropDown sont masqués après que l'utilisateur a cliqué dessus.

DisplayStyle

Obtient ou définit si le texte et les images sont affichés sur un ToolStripItem.

Dock

Obtient ou définit les bordures ToolStripItem qui sont ancrées à son contrôle parent et détermine le redimensionnement de ToolStripItem avec son parent.

DoubleClickEnabled

Obtient ou définit une valeur indiquant si ToolStripItem peut être activé en double-cliquant à l'aide de la souris.

Enabled

Obtient ou définit une valeur indiquant si le contrôle parent de ToolStripItem est activé.

Events

Obtient la liste des gestionnaires d'événements attachés à ce Component.

(Hérité de Component)
Font

Obtient ou définit la police du texte de l'élément.

ForeColor

Obtient ou définit la couleur de premier plan de l'élément.

Height

Obtient ou définit la hauteur, en pixels, d'un ToolStripItem.

Image

Obtient ou définit l'image affichée sur un ToolStripItem.

ImageAlign

Obtient ou définit l'alignement de l'image sur un ToolStripItem.

ImageIndex

Obtient ou définit la valeur d'index de l'image qui s'affiche sur l'élément.

ImageKey

Obtient ou définit l'accesseur de clé pour l'image dans le ImageList qui est affiché dans ToolStripItem.

ImageScaling

Obtient ou définit une valeur indiquant si une image sur un ToolStripItem est automatiquement redimensionnée pour contenir dans un conteneur.

ImageTransparentColor

Obtient ou définit la couleur à traiter comme transparente dans une image ToolStripItem.

IsDisposed

Obtient une valeur indiquant si l'objet a été supprimé.

IsOnDropDown

Obtient une valeur indiquant si le conteneur du Control actuel est un ToolStripDropDown.

IsOnOverflow

Obtient une valeur indiquant si la propriété Placement a la valeur Overflow.

Margin

Obtient ou définit l'espace entre l'élément et les éléments adjacents.

MergeAction

Obtient ou définit comment les menus enfants sont fusionnés avec les menus parents.

MergeIndex

Obtient ou définit la position d'un élément fusionné dans le ToolStrip actuel.

Name

Obtient ou définit le nom de l'élément.

Overflow

Obtient ou définit si l'élément est attaché à ToolStrip ou à ToolStripOverflowButton ou peut flotter entre les deux.

Owner

Obtient ou définit le propriétaire de cet élément.

OwnerItem

Obtient le ToolStripItem parent de ce ToolStripItem.

Padding

Obtient ou définit l'espacement interne, en pixels, entre le contenu de l'élément et ses bords.

Parent

Obtient ou définit le conteneur parent de ToolStripItem.

Placement

Obtient la disposition actuelle de l'élément.

Pressed

Obtient une valeur indiquant si l'état de l'élément est enfoncé.

Renderer

Représente la classe de base abstraite qui gère des événements et la disposition pour tous les éléments que ToolStrip ou ToolStripDropDown peut contenir.

RightToLeft

Obtient ou définit une valeur indiquant si les éléments doivent être placés de droite à gauche et si le texte doit être écrit de droite à gauche.

RightToLeftAutoMirrorImage

Met automatiquement en miroir l'image ToolStripItem lorsque la propriété RightToLeft a la valeur Yes.

Selected

Obtient une valeur indiquant si l'élément est sélectionné.

ShowKeyboardCues

Obtient une valeur indiquant s'il faut afficher ou masquer les touches de raccourci.

Site

Obtient ou définit le ISite de Component.

(Hérité de Component)
Size

Obtient ou définit la taille de l'élément.

Tag

Obtient ou définit l'objet qui contient les données relatives à l'élément.

Text

Obtient ou définit le texte qui doit être affiché sur l'élément.

TextAlign

Obtient ou définit l'alignement du texte sur ToolStripLabel.

TextDirection

Obtient l'orientation du texte utilisée sur un ToolStripItem.

TextImageRelation

Obtient ou définit la position du texte de ToolStripItem et de l'image l'un par rapport à l'autre.

ToolTipText

Obtient ou définit le texte qui s'affiche sous forme de ToolTip pour un contrôle.

Visible

Obtient ou définit une valeur indiquant si l'élément est affiché.

Width

Obtient ou définit la largeur en pixels d'un ToolStripItem.

Méthodes

CreateAccessibilityInstance()

Crée un objet d’accessibilité pour ToolStripItem.

CreateObjRef(Type)

Crée un objet contenant toutes les informations appropriées requises pour générer un proxy permettant de communiquer avec un objet distant.

(Hérité de MarshalByRefObject)
Dispose()

Libère toutes les ressources utilisées par Component.

(Hérité de Component)
Dispose(Boolean)

Libère les ressources non managées utilisées par ToolStripItem et libère éventuellement les ressources managées.

DoDragDrop(Object, DragDropEffects)

Démarre une opération glisser-déposer.

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

Commence une opération de glissement.

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
GetCurrentParent()

Récupère le ToolStrip qui représente le conteneur du ToolStripItem actuel.

GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetLifetimeService()
Obsolète.

Récupère l'objet de service de durée de vie en cours qui contrôle la stratégie de durée de vie de cette instance.

(Hérité de MarshalByRefObject)
GetPreferredSize(Size)

Récupère la taille d'une zone rectangulaire qui peut contenir un contrôle.

GetService(Type)

Retourne un objet qui représente un service fourni par Component ou par son Container.

(Hérité de Component)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
InitializeLifetimeService()
Obsolète.

Obtient un objet de service de durée de vie pour contrôler la stratégie de durée de vie de cette instance.

(Hérité de MarshalByRefObject)
Invalidate()

Invalide la surface totale de ToolStripItem et oblige ce dernier à être redessiné.

Invalidate(Rectangle)

Invalide la région spécifiée de ToolStripItem en l'ajoutant à la zone de mise à jour de ToolStripItem, qui correspond à la zone à repeindre lors de la prochaine opération de peinture, puis génère l'envoi d'un message de peinture à ToolStripItem.

IsInputChar(Char)

Détermine si un caractère est un caractère d'entrée que l'élément reconnaît.

IsInputKey(Keys)

Détermine si la touche spécifiée est une touche de saisie normale ou une touche spéciale nécessitant un prétraitement.

MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
MemberwiseClone(Boolean)

Crée une copie superficielle de l'objet MarshalByRefObject actuel.

(Hérité de MarshalByRefObject)
OnAvailableChanged(EventArgs)

Déclenche l'événement AvailableChanged.

OnBackColorChanged(EventArgs)

Déclenche l’événement BackColorChanged.

OnBindingContextChanged(EventArgs)

Déclenche l’événement BindingContextChanged.

(Hérité de BindableComponent)
OnBoundsChanged()

Se produit quand la propriété Bounds change.

OnClick(EventArgs)

Déclenche l’événement Click.

OnCommandCanExecuteChanged(EventArgs)

Déclenche l’événement CommandCanExecuteChanged.

OnCommandChanged(EventArgs)

Déclenche l’événement CommandChanged.

OnCommandParameterChanged(EventArgs)

Déclenche l’événement CommandParameterChanged.

OnDisplayStyleChanged(EventArgs)

Déclenche l’événement DisplayStyleChanged.

OnDoubleClick(EventArgs)

Déclenche l’événement DoubleClick.

OnDragDrop(DragEventArgs)

Déclenche l’événement DragDrop.

OnDragEnter(DragEventArgs)

Déclenche l’événement DragEnter.

OnDragLeave(EventArgs)

Déclenche l’événement DragLeave.

OnDragOver(DragEventArgs)

Déclenche l’événement DragOver.

OnEnabledChanged(EventArgs)

Déclenche l’événement EnabledChanged.

OnFontChanged(EventArgs)

Déclenche l’événement FontChanged.

OnForeColorChanged(EventArgs)

Déclenche l’événement ForeColorChanged.

OnGiveFeedback(GiveFeedbackEventArgs)

Déclenche l’événement GiveFeedback.

OnLayout(LayoutEventArgs)

Déclenche l’événement Layout.

OnLocationChanged(EventArgs)

Déclenche l’événement LocationChanged.

OnMouseDown(MouseEventArgs)

Déclenche l’événement MouseDown.

OnMouseEnter(EventArgs)

Déclenche l’événement MouseEnter.

OnMouseHover(EventArgs)

Déclenche l’événement MouseHover.

OnMouseLeave(EventArgs)

Déclenche l’événement MouseLeave.

OnMouseMove(MouseEventArgs)

Déclenche l’événement MouseMove.

OnMouseUp(MouseEventArgs)

Déclenche l’événement MouseUp.

OnOwnerChanged(EventArgs)

Déclenche l’événement OwnerChanged.

OnOwnerFontChanged(EventArgs)

Déclenche l'événement FontChanged lorsque la propriété Font a changé sur le parent de ToolStripItem.

OnPaint(PaintEventArgs)

Déclenche l’événement Paint.

OnParentBackColorChanged(EventArgs)

Déclenche l’événement BackColorChanged.

OnParentChanged(ToolStrip, ToolStrip)

Déclenche l’événement ParentChanged.

OnParentEnabledChanged(EventArgs)

Déclenche l'événement EnabledChanged lorsque la valeur de la propriété Enabled du conteneur de l'élément est modifiée.

OnParentForeColorChanged(EventArgs)

Déclenche l’événement ForeColorChanged.

OnParentRightToLeftChanged(EventArgs)

Déclenche l’événement RightToLeftChanged.

OnQueryContinueDrag(QueryContinueDragEventArgs)

Déclenche l’événement QueryContinueDrag.

OnRequestCommandExecute(EventArgs)

Appelé dans le contexte de OnClick(EventArgs) pour appeler Execute(Object) si le contexte autorise.

OnRightToLeftChanged(EventArgs)

Déclenche l’événement RightToLeftChanged.

OnSelectedChanged(EventArgs)

Représente la classe de base abstraite qui gère des événements et la disposition pour tous les éléments que ToolStrip ou ToolStripDropDown peut contenir.

OnTextChanged(EventArgs)

Déclenche l’événement TextChanged.

OnVisibleChanged(EventArgs)

Déclenche l’événement VisibleChanged.

PerformClick()

Génère un événement Click pour un ToolStripItem.

ProcessCmdKey(Message, Keys)

Traite une touche de commande.

ProcessDialogKey(Keys)

Traite une touche de boîte de dialogue.

ProcessMnemonic(Char)

Traite un caractère mnémonique.

ResetBackColor()

Cette méthode ne s'applique pas à cette classe.

ResetDisplayStyle()

Cette méthode ne s'applique pas à cette classe.

ResetFont()

Cette méthode ne s'applique pas à cette classe.

ResetForeColor()

Cette méthode ne s'applique pas à cette classe.

ResetImage()

Cette méthode ne s'applique pas à cette classe.

ResetMargin()

Cette méthode ne s'applique pas à cette classe.

ResetPadding()

Cette méthode ne s'applique pas à cette classe.

ResetRightToLeft()

Cette méthode ne s'applique pas à cette classe.

ResetTextDirection()

Cette méthode ne s'applique pas à cette classe.

Select()

Sélectionne l'élément.

SetBounds(Rectangle)

Définit la taille et l'emplacement de l'élément.

SetVisibleCore(Boolean)

Affecte l’état visible spécifié à ToolStripItem.

ToString()

Retourne un String contenant le nom du Component, s’il en existe un. Cette méthode ne doit pas être remplacée.

Événements

AvailableChanged

Se produit quand la valeur de la propriété Available change.

BackColorChanged

Se produit quand la valeur de la propriété BackColor change.

BindingContextChanged

Se produit lorsque le contexte de liaison a changé.

(Hérité de BindableComponent)
Click

Se produit suite à un clic sur ToolStripItem.

CommandCanExecuteChanged

Se produit lorsque le CanExecute(Object) status du ICommand qui est affecté à la Command propriété a changé.

CommandChanged

Se produit lorsque l’affectation ICommand de la Command propriété a changé.

CommandParameterChanged

Se produit quand la valeur de la propriété CommandParameter a changé.

DisplayStyleChanged

Se produit quand DisplayStyle a été modifié.

Disposed

Se produit lorsque le composant est supprimé par un appel à la méthode Dispose().

(Hérité de Component)
DoubleClick

Se produit après un double-clic de la souris sur l'élément.

DragDrop

Se produit lorsque l'utilisateur fait glisser un élément et qu'il relâche le bouton de la souris, indiquant que l'élément doit être déposé dans cet élément.

DragEnter

Se produit lorsque l'utilisateur fait glisser un élément dans la zone cliente de cet élément.

DragLeave

Se produit lorsque l'utilisateur fait glisser un élément et que le pointeur de la souris n'est plus sur la zone cliente de cet élément.

DragOver

Se produit lorsque l'utilisateur fait glisser un élément sur la zone cliente de cet élément.

EnabledChanged

Se produit quand la valeur de propriété Enabled a été modifiée.

ForeColorChanged

Se produit quand la valeur de la propriété ForeColor change.

GiveFeedback

Se produit pendant une opération glisser.

LocationChanged

Se produit lorsque l'emplacement d'un ToolStripItem est mis à jour.

MouseDown

Se produit lorsque le pointeur de la souris se trouve sur l'élément et qu'un bouton de la souris est enfoncé.

MouseEnter

Se produit lorsque le pointeur de la souris entre dans l'élément.

MouseHover

Se produit lorsque la souris pointe sur l'élément.

MouseLeave

Se produit lorsque le pointeur de la souris quitte l'élément.

MouseMove

Se produit lorsque le pointeur de la souris est placé sur l'élément.

MouseUp

Se produit lorsque le pointeur de la souris se trouve sur l'élément et qu'un bouton de la souris est relâché.

OwnerChanged

Se produit quand la propriété Owner change.

Paint

Se produit lorsque l'élément est redessiné.

QueryAccessibilityHelp

Se produit lorsqu'une application d'accessibilité appelle l'aide pour ToolStripItem.

QueryContinueDrag

Se produit pendant une opération glisser-déplacer et permet à la source de cette opération de déterminer si l'opération doit être annulée.

RightToLeftChanged

Se produit quand la valeur de la propriété RightToLeft change.

SelectedChanged

Représente la classe de base abstraite qui gère des événements et la disposition pour tous les éléments que ToolStrip ou ToolStripDropDown peut contenir.

TextChanged

Se produit quand la valeur de la propriété Text change.

VisibleChanged

Se produit quand la valeur de la propriété Visible change.

Implémentations d’interfaces explicites

IDropTarget.OnDragDrop(DragEventArgs)

Déclenche l’événement DragDrop.

IDropTarget.OnDragEnter(DragEventArgs)

Déclenche l’événement DragEnter.

IDropTarget.OnDragLeave(EventArgs)

Déclenche l’événement DragLeave.

IDropTarget.OnDragOver(DragEventArgs)

Déclenche l’événement DragOver.

S’applique à

Voir aussi