Udostępnij za pośrednictwem


ToolStripItem Klasa

Definicja

Reprezentuje abstrakcyjną klasę bazową, która zarządza zdarzeniami i układem dla wszystkich elementów, które ToolStrip mogą zawierać element lub ToolStripDropDown .

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
Dziedziczenie
Dziedziczenie
Pochodne
Implementuje

Przykłady

W poniższym przykładzie kodu pokazano, jak zaimplementować kontrolkę niestandardową 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

Uwagi

Element ToolStripItem to element, taki jak przycisk, pole kombi, pole tekstowe lub etykieta, które mogą być zawarte w kontrolce ToolStrip lub ToolStripDropDown kontrolce, która jest podobna do menu skrótów systemu Windows. Klasa ToolStrip zarządza wprowadzaniem obrazów i klawiatury i myszy, w tym wprowadzanie przeciągania i upuszczania, dla tych elementów, a ToolStripItem klasa zarządza zdarzeniami i układem w samych elementach.

ToolStripItem klasy dziedziczą bezpośrednio z ToolStripItemklasy , lub dziedziczą pośrednio od ToolStripItem za pośrednictwem lub ToolStripControlHostToolStripDropDownItem.

ToolStripItem kontrolki muszą być zawarte w formularzu ToolStrip, MenuStrip, StatusStriplub i ContextMenuStrip nie mogą być dodawane bezpośrednio do formularza. Różne klasy kontenerów zostały zaprojektowane tak, aby zawierały ToolStripItem odpowiedni podzestaw kontrolek.

UwagaToolStripItem Dana wartość nie może mieć więcej niż jednego elementu nadrzędnego ToolStrip. Należy skopiować ToolStripItem element i dodać go do innych ToolStrip kontrolek.

W poniższej ToolStripItem tabeli przedstawiono elementy pochodzące z klasy i dlatego mogą być hostowane w obiekcie ToolStrip lub ToolStripDropDown.

Element Opis
ToolStripButton Przycisk paska narzędzi, który obsługuje obrazy i tekst.
ToolStripLabel Etykieta tekstowa zwykle używana na pasku stanu lub ToolStrip jako komentarz lub tytuł.
ToolStripSeparator Nienależące miejsce lub spacja z pionowym paskiem, który wizualnie grupuje elementy.
ToolStripControlHost Obiekt ToolStripItem hostujący kontrolki ToolStripComboBox, ToolStripTextBox, ToolStripProgressBar, inne Windows Forms lub kontrolki niestandardowe.

A ToolStripComboBox to pole tekstowe, w którym użytkownik może wprowadzić tekst wraz z listą, z której użytkownik może wybrać tekst, aby wypełnić pole tekstowe.

Element A ToolStripTextBox umożliwia użytkownikowi wprowadzanie tekstu.

Element ToolStripProgressBar reprezentuje kontrolkę paska postępu systemu Windows zawartą w elemecie StatusStrip.
ToolStripDropDownItem Element ToolStripItem hostujący ToolStripMenuItemelement , ToolStripSplitButtoni ToolStripDropDownButton.

A ToolStripMenuItem to opcja do wyboru wyświetlana w menu lub menu kontekstowym.

Element to ToolStripSplitButton kombinacja zwykłego przycisku i przycisku listy rozwijanej.

To ToolStripDropDownButton przycisk obsługujący funkcje listy rozwijanej.
ToolStripStatusLabel Panel w kontrolce StatusStrip .

Konstruktory

ToolStripItem()

Inicjuje nowe wystąpienie klasy ToolStripItem.

ToolStripItem(String, Image, EventHandler)

Inicjuje ToolStripItem nowe wystąpienie klasy z określoną nazwą, obrazem i procedurą obsługi zdarzeń.

ToolStripItem(String, Image, EventHandler, String)

Inicjuje ToolStripItem nowe wystąpienie klasy z określonym tekstem wyświetlanym, obrazem, procedurą obsługi zdarzeń i nazwą.

Właściwości

AccessibilityObject

AccessibleObject Pobiera element przypisany do kontrolki.

AccessibleDefaultActionDescription

Pobiera lub ustawia domyślny opis akcji kontrolki do użycia przez aplikacje klienckie ułatwień dostępu.

AccessibleDescription

Pobiera lub ustawia opis, który będzie raportowany do aplikacji klienckich ułatwień dostępu.

AccessibleName

Pobiera lub ustawia nazwę kontrolki do użycia przez aplikacje klienckie ułatwień dostępu.

AccessibleRole

Pobiera lub ustawia dostępną rolę kontrolki, która określa typ elementu interfejsu użytkownika kontrolki.

Alignment

Pobiera lub ustawia wartość wskazującą, czy element jest wyrównany do początku, czy końca ToolStripobiektu .

AllowDrop

Pobiera lub ustawia wartość wskazującą, czy zmiany kolejności przeciągania i upuszczania elementów są obsługiwane za pośrednictwem implementowanych zdarzeń.

Anchor

Pobiera lub ustawia krawędzie kontenera, do którego ToolStripItem element jest powiązany i określa, jak ToolStripItem zmienia się rozmiar obiektu nadrzędnego.

AutoSize

Pobiera lub ustawia wartość wskazującą, czy element ma automatycznie rozmiar.

AutoToolTip

Pobiera lub ustawia wartość wskazującą Text , czy należy użyć właściwości, czy ToolTipText właściwości etykietki ToolStripItem narzędzia.

Available

Pobiera lub ustawia wartość wskazującą, czy ToolStripItem element powinien zostać umieszczony na obiekcie ToolStrip.

BackColor

Pobiera lub ustawia kolor tła elementu.

BackgroundImage

Pobiera lub ustawia obraz tła wyświetlany w elemencie .

BackgroundImageLayout

Pobiera lub ustawia układ obrazu tła używany dla elementu ToolStripItem.

BindingContext

Pobiera lub ustawia kolekcję menedżerów walut dla elementu IBindableComponent.

(Odziedziczone po BindableComponent)
Bounds

Pobiera rozmiar i lokalizację elementu.

CanRaiseEvents

Pobiera wartość wskazującą, czy składnik może zgłosić zdarzenie.

(Odziedziczone po Component)
CanSelect

Pobiera wartość wskazującą, czy element można wybrać.

Command

Pobiera lub ustawia metodę ICommand , której Execute(Object) zostanie wywołana po wywołaniu zdarzenia ToolStripItem Click .

CommandParameter

Pobiera lub ustawia parametr przekazywany do ICommand właściwości przypisanej Command do właściwości .

Container

Pobiera element IContainer zawierający element Component.

(Odziedziczone po Component)
ContentRectangle

Pobiera obszar, w którym zawartość, taka jak tekst i ikony, można umieścić w obiekcie ToolStripItem bez zastępowania obramowań tła.

DataBindings

Pobiera kolekcję obiektów powiązania danych dla tego IBindableComponentobiektu .

(Odziedziczone po BindableComponent)
DefaultAutoToolTip

Pobiera wartość wskazującą, czy ma być wyświetlana ToolTip wartość zdefiniowana jako domyślna.

DefaultDisplayStyle

Pobiera wartość wskazującą, co jest wyświetlane w obiekcie ToolStripItem.

DefaultMargin

Pobiera domyślny margines elementu.

DefaultPadding

Pobiera właściwości odstępów wewnętrznych elementu.

DefaultSize

Pobiera domyślny rozmiar elementu.

DesignMode

Pobiera wartość wskazującą, czy Component element jest obecnie w trybie projektowania.

(Odziedziczone po Component)
DismissWhenClicked

Pobiera wartość wskazującą, czy elementy na obiekcie ToolStripDropDown są ukryte po ich kliknięciu.

DisplayStyle

Pobiera lub ustawia, czy tekst i obrazy są wyświetlane na obiekcie ToolStripItem.

Dock

Pobiera lub ustawia obramowania zadokowane ToolStripItem do kontrolki nadrzędnej i określa, jak ToolStripItem zmienia się rozmiar obiektu nadrzędnego.

DoubleClickEnabled

Pobiera lub ustawia wartość wskazującą, czy ToolStripItem element można aktywować, klikając dwukrotnie mysz.

Enabled

Pobiera lub ustawia wartość wskazującą, czy kontrolka nadrzędna obiektu ToolStripItem jest włączona.

Events

Pobiera listę programów obsługi zdarzeń dołączonych do tego Componentelementu .

(Odziedziczone po Component)
Font

Pobiera lub ustawia czcionkę tekstu wyświetlanego przez element.

ForeColor

Pobiera lub ustawia kolor pierwszego planu elementu.

Height

Pobiera lub ustawia wysokość w pikselach elementu ToolStripItem.

Image

Pobiera lub ustawia obraz wyświetlany na obiekcie ToolStripItem.

ImageAlign

Pobiera lub ustawia wyrównanie obrazu na ToolStripItemobiekcie .

ImageIndex

Pobiera lub ustawia wartość indeksu obrazu wyświetlanego na elemencie.

ImageKey

Pobiera lub ustawia metodę dostępu klucza dla obrazu wyświetlanego ImageList w ToolStripItemobiekcie .

ImageScaling

Pobiera lub ustawia wartość wskazującą, czy rozmiar obrazu na obiekcie ToolStripItem jest automatycznie zmieniany w celu dopasowania go do kontenera.

ImageTransparentColor

Pobiera lub ustawia kolor, który ma być traktowany jako przezroczysty na obrazie ToolStripItem .

IsDisposed

Pobiera wartość wskazującą, czy obiekt został usunięty.

IsOnDropDown

Pobiera wartość wskazującą, czy kontener bieżącego Control elementu to ToolStripDropDown.

IsOnOverflow

Pobiera wartość wskazującą, czy właściwość jest ustawiona Placement na Overflowwartość .

Margin

Pobiera lub ustawia odstęp między elementem a sąsiednimi elementami.

MergeAction

Pobiera lub ustawia sposób scalania menu podrzędnych z menu nadrzędnymi.

MergeIndex

Pobiera lub ustawia położenie scalonego elementu w bieżącym elemencie ToolStrip.

Name

Pobiera lub ustawia nazwę elementu.

Overflow

Pobiera lub ustawia, czy element jest dołączony do ToolStrip elementu lub ToolStripOverflowButton , czy może unosić się między nimi.

Owner

Pobiera lub ustawia właściciela tego elementu.

OwnerItem

Pobiera element nadrzędny ToolStripItem tego ToolStripItemelementu .

Padding

Pobiera lub ustawia odstęp wewnętrzny w pikselach między zawartością elementu a jego krawędziami.

Parent

Pobiera lub ustawia kontener nadrzędny elementu ToolStripItem.

Placement

Pobiera bieżący układ elementu.

Pressed

Pobiera wartość wskazującą, czy stan elementu jest naciśnięty.

Renderer

Reprezentuje abstrakcyjną klasę bazową, która zarządza zdarzeniami i układem dla wszystkich elementów, które ToolStrip mogą zawierać element lub ToolStripDropDown .

RightToLeft

Pobiera lub ustawia wartość wskazującą, czy elementy mają być umieszczone od prawej do lewej, a tekst ma być zapisywany od prawej do lewej.

RightToLeftAutoMirrorImage

Dubluje obraz automatycznie ToolStripItem , gdy właściwość jest ustawiona RightToLeft na Yes.

Selected

Pobiera wartość wskazującą, czy element jest zaznaczony.

ShowKeyboardCues

Pobiera wartość wskazującą, czy pokazać, czy ukryć klawisze skrótów.

Site

Pobiera lub ustawia wartość ISite .Component

(Odziedziczone po Component)
Size

Pobiera lub ustawia rozmiar elementu.

Tag

Pobiera lub ustawia obiekt zawierający dane dotyczące elementu.

Text

Pobiera lub ustawia tekst, który ma być wyświetlany w elemencie.

TextAlign

Pobiera lub ustawia wyrównanie tekstu na obiekcie ToolStripLabel.

TextDirection

Pobiera orientację tekstu używanego w obiekcie ToolStripItem.

TextImageRelation

Pobiera lub ustawia położenie ToolStripItem tekstu i obrazu względem siebie.

ToolTipText

Pobiera lub ustawia tekst wyświetlany jako ToolTip dla kontrolki.

Visible

Pobiera lub ustawia wartość wskazującą, czy element jest wyświetlany.

Width

Pobiera lub ustawia szerokość w pikselach elementu ToolStripItem.

Metody

CreateAccessibilityInstance()

Tworzy nowy obiekt ułatwień dostępu dla obiektu ToolStripItem.

CreateObjRef(Type)

Tworzy obiekt zawierający wszystkie istotne informacje wymagane do wygenerowania serwera proxy używanego do komunikowania się z obiektem zdalnym.

(Odziedziczone po MarshalByRefObject)
Dispose()

Zwalnia wszelkie zasoby używane przez element Component.

(Odziedziczone po Component)
Dispose(Boolean)

Zwalnia zasoby niezarządzane używane przez element ToolStripItem i opcjonalnie zwalnia zasoby zarządzane.

DoDragDrop(Object, DragDropEffects)

Rozpoczyna operację przeciągania i upuszczania.

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

Rozpoczyna operację przeciągania.

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetCurrentParent()

Pobiera kontener ToolStrip bieżącego ToolStripItemobiektu .

GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetLifetimeService()
Przestarzałe.

Pobiera bieżący obiekt usługi okresu istnienia, który kontroluje zasady okresu istnienia dla tego wystąpienia.

(Odziedziczone po MarshalByRefObject)
GetPreferredSize(Size)

Pobiera rozmiar prostokątnego obszaru, do którego można dopasować kontrolkę.

GetService(Type)

Zwraca obiekt, który reprezentuje usługę dostarczaną przez Component obiekt lub przez element Container.

(Odziedziczone po Component)
GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
InitializeLifetimeService()
Przestarzałe.

Uzyskuje obiekt usługi okresu istnienia w celu kontrolowania zasad okresu istnienia dla tego wystąpienia.

(Odziedziczone po MarshalByRefObject)
Invalidate()

Unieważnia całą powierzchnię ToolStripItem obiektu i powoduje ponowne rysowanie.

Invalidate(Rectangle)

Unieważnia określony region obiektu ToolStripItem przez dodanie go do regionu ToolStripItemaktualizacji obiektu , który jest obszarem, który zostanie ponownie zatłoczony podczas następnej operacji malowania, i powoduje wysłanie komunikatu farby ToolStripItemdo .

IsInputChar(Char)

Określa, czy znak jest znakiem wejściowym rozpoznawanym przez element.

IsInputKey(Keys)

Określa, czy określony klucz jest zwykłym kluczem wejściowym, czy specjalnym kluczem, który wymaga wstępnego przetwarzania.

MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
MemberwiseClone(Boolean)

Tworzy płytkią kopię bieżącego MarshalByRefObject obiektu.

(Odziedziczone po MarshalByRefObject)
OnAvailableChanged(EventArgs)

Zgłasza zdarzenie AvailableChanged.

OnBackColorChanged(EventArgs)

BackColorChanged Zgłasza zdarzenie.

OnBindingContextChanged(EventArgs)

BindingContextChanged Zgłasza zdarzenie.

(Odziedziczone po BindableComponent)
OnBoundsChanged()

Występuje, gdy Bounds właściwość ulegnie zmianie.

OnClick(EventArgs)

Click Zgłasza zdarzenie.

OnCommandCanExecuteChanged(EventArgs)

CommandCanExecuteChanged Zgłasza zdarzenie.

OnCommandChanged(EventArgs)

CommandChanged Zgłasza zdarzenie.

OnCommandParameterChanged(EventArgs)

CommandParameterChanged Zgłasza zdarzenie.

OnDisplayStyleChanged(EventArgs)

DisplayStyleChanged Zgłasza zdarzenie.

OnDoubleClick(EventArgs)

DoubleClick Zgłasza zdarzenie.

OnDragDrop(DragEventArgs)

DragDrop Zgłasza zdarzenie.

OnDragEnter(DragEventArgs)

DragEnter Zgłasza zdarzenie.

OnDragLeave(EventArgs)

DragLeave Zgłasza zdarzenie.

OnDragOver(DragEventArgs)

DragOver Zgłasza zdarzenie.

OnEnabledChanged(EventArgs)

EnabledChanged Zgłasza zdarzenie.

OnFontChanged(EventArgs)

FontChanged Zgłasza zdarzenie.

OnForeColorChanged(EventArgs)

ForeColorChanged Zgłasza zdarzenie.

OnGiveFeedback(GiveFeedbackEventArgs)

GiveFeedback Zgłasza zdarzenie.

OnLayout(LayoutEventArgs)

Layout Zgłasza zdarzenie.

OnLocationChanged(EventArgs)

LocationChanged Zgłasza zdarzenie.

OnMouseDown(MouseEventArgs)

MouseDown Zgłasza zdarzenie.

OnMouseEnter(EventArgs)

MouseEnter Zgłasza zdarzenie.

OnMouseHover(EventArgs)

MouseHover Zgłasza zdarzenie.

OnMouseLeave(EventArgs)

MouseLeave Zgłasza zdarzenie.

OnMouseMove(MouseEventArgs)

MouseMove Zgłasza zdarzenie.

OnMouseUp(MouseEventArgs)

MouseUp Zgłasza zdarzenie.

OnOwnerChanged(EventArgs)

OwnerChanged Zgłasza zdarzenie.

OnOwnerFontChanged(EventArgs)

FontChanged Zgłasza zdarzenie, gdy Font właściwość została zmieniona na obiekcie nadrzędnym ToolStripItemobiektu .

OnPaint(PaintEventArgs)

Paint Zgłasza zdarzenie.

OnParentBackColorChanged(EventArgs)

BackColorChanged Zgłasza zdarzenie.

OnParentChanged(ToolStrip, ToolStrip)

ParentChanged Zgłasza zdarzenie.

OnParentEnabledChanged(EventArgs)

EnabledChanged Zgłasza zdarzenie, gdy Enabled wartość właściwości kontenera elementu ulegnie zmianie.

OnParentForeColorChanged(EventArgs)

ForeColorChanged Zgłasza zdarzenie.

OnParentRightToLeftChanged(EventArgs)

RightToLeftChanged Zgłasza zdarzenie.

OnQueryContinueDrag(QueryContinueDragEventArgs)

QueryContinueDrag Zgłasza zdarzenie.

OnRequestCommandExecute(EventArgs)

Wywoływane w kontekście OnClick(EventArgs) wywołania Execute(Object) , jeśli kontekst jest dozwolony.

OnRightToLeftChanged(EventArgs)

RightToLeftChanged Zgłasza zdarzenie.

OnSelectedChanged(EventArgs)

Reprezentuje abstrakcyjną klasę bazową, która zarządza zdarzeniami i układem dla wszystkich elementów, które ToolStrip mogą zawierać element lub ToolStripDropDown .

OnTextChanged(EventArgs)

TextChanged Zgłasza zdarzenie.

OnVisibleChanged(EventArgs)

VisibleChanged Zgłasza zdarzenie.

PerformClick()

Click Generuje zdarzenie dla klasy ToolStripItem.

ProcessCmdKey(Message, Keys)

Przetwarza klucz polecenia.

ProcessDialogKey(Keys)

Przetwarza klucz okna dialogowego.

ProcessMnemonic(Char)

Przetwarza znak mnemonic.

ResetBackColor()

Ta metoda nie jest odpowiednia dla tej klasy.

ResetDisplayStyle()

Ta metoda nie jest odpowiednia dla tej klasy.

ResetFont()

Ta metoda nie jest odpowiednia dla tej klasy.

ResetForeColor()

Ta metoda nie jest odpowiednia dla tej klasy.

ResetImage()

Ta metoda nie jest odpowiednia dla tej klasy.

ResetMargin()

Ta metoda nie jest odpowiednia dla tej klasy.

ResetPadding()

Ta metoda nie jest odpowiednia dla tej klasy.

ResetRightToLeft()

Ta metoda nie jest odpowiednia dla tej klasy.

ResetTextDirection()

Ta metoda nie jest odpowiednia dla tej klasy.

Select()

Wybiera element.

SetBounds(Rectangle)

Ustawia rozmiar i lokalizację elementu.

SetVisibleCore(Boolean)

Ustawia wartość ToolStripItem na określony widoczny stan.

ToString()

Zwraca wartość String zawierającą nazwę Componentobiektu , jeśli istnieje. Ta metoda nie powinna być zastępowana.

Zdarzenia

AvailableChanged

Występuje, gdy wartość Available właściwości się zmienia.

BackColorChanged

Występuje, gdy wartość BackColor właściwości się zmienia.

BindingContextChanged

Występuje, gdy kontekst powiązania uległ zmianie.

(Odziedziczone po BindableComponent)
Click

Występuje po kliknięciu.ToolStripItem

CommandCanExecuteChanged

Występuje, gdy CanExecute(Object) stan ICommand właściwości przypisanej Command do właściwości uległ zmianie.

CommandChanged

Występuje po zmianie przypisanej ICommandCommand właściwości.

CommandParameterChanged

Występuje, gdy wartość CommandParameter właściwości uległa zmianie.

DisplayStyleChanged

Występuje, gdy element DisplayStyle uległ zmianie.

Disposed

Występuje, gdy składnik jest usuwany przez wywołanie Dispose() metody .

(Odziedziczone po Component)
DoubleClick

Występuje po dwukrotnym kliknięciu elementu myszą.

DragDrop

Występuje, gdy użytkownik przeciągnie element, a użytkownik zwolni przycisk myszy, wskazując, że element powinien zostać upuszczony do tego elementu.

DragEnter

Występuje, gdy użytkownik przeciąga element do obszaru klienta tego elementu.

DragLeave

Występuje, gdy użytkownik przeciąga element, a wskaźnik myszy nie jest już nad obszarem klienta tego elementu.

DragOver

Występuje, gdy użytkownik przeciąga element nad obszarem klienta tego elementu.

EnabledChanged

Występuje, gdy Enabled wartość właściwości uległa zmianie.

ForeColorChanged

Występuje, gdy ForeColor wartość właściwości się zmienia.

GiveFeedback

Występuje podczas operacji przeciągania.

LocationChanged

Występuje, gdy lokalizacja obiektu ToolStripItem jest aktualizowana.

MouseDown

Występuje, gdy wskaźnik myszy znajduje się na elemencie, a naciśnięty jest przycisk myszy.

MouseEnter

Występuje, gdy wskaźnik myszy wprowadza element.

MouseHover

Występuje, gdy wskaźnik myszy najecha kursorem na element.

MouseLeave

Występuje, gdy wskaźnik myszy opuszcza element.

MouseMove

Występuje, gdy wskaźnik myszy jest przenoszony przez element.

MouseUp

Występuje, gdy wskaźnik myszy znajduje się nad elementem, a przycisk myszy zostanie zwolniony.

OwnerChanged

Występuje, gdy Owner właściwość ulegnie zmianie.

Paint

Występuje, gdy element jest ponownie rysowane.

QueryAccessibilityHelp

Występuje, gdy aplikacja kliencka ułatwień dostępu wywołuje pomoc dla elementu ToolStripItem.

QueryContinueDrag

Występuje podczas operacji przeciągania i upuszczania i umożliwia źródło przeciągania w celu określenia, czy należy anulować operację przeciągania i upuszczania.

RightToLeftChanged

Występuje, gdy RightToLeft wartość właściwości ulegnie zmianie.

SelectedChanged

Reprezentuje abstrakcyjną klasę bazową, która zarządza zdarzeniami i układem dla wszystkich elementów, które ToolStrip mogą zawierać element lub ToolStripDropDown .

TextChanged

Występuje, gdy wartość Text właściwości ulegnie zmianie.

VisibleChanged

Występuje, gdy wartość Visible właściwości ulegnie zmianie.

Jawne implementacje interfejsu

IDropTarget.OnDragDrop(DragEventArgs)

DragDrop Zgłasza zdarzenie.

IDropTarget.OnDragEnter(DragEventArgs)

DragEnter Zgłasza zdarzenie.

IDropTarget.OnDragLeave(EventArgs)

DragLeave Zgłasza zdarzenie.

IDropTarget.OnDragOver(DragEventArgs)

DragOver Zgłasza zdarzenie.

Dotyczy

Zobacz też