ToolStripItem Klass

Definition

Representerar den abstrakta basklassen som hanterar händelser och layout för alla element som en ToolStrip eller ToolStripDropDown kan innehålla.

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
Arv
Arv
Härledda
Implementeringar

Exempel

Följande kodexempel visar hur du implementerar en anpassad ToolStripItem kontroll.

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

Kommentarer

En ToolStripItem är ett element som en knapp, kombinationsruta, textruta eller etikett som kan finnas i en ToolStrip-kontroll eller en ToolStripDropDown-kontroll, som liknar en Windows snabbmeny. Klassen ToolStrip hanterar indata för målning och tangentbord och mus, inklusive dra och släpp-indata, för dessa element, och ToolStripItem klassen hanterar händelser och layout i själva elementen.

ToolStripItem klasser ärver antingen direkt från ToolStripItem, eller så ärver de indirekt från ToolStripItem via ToolStripControlHost eller ToolStripDropDownItem.

ToolStripItem kontroller måste finnas i ett ToolStrip, MenuStrip, StatusStripeller ContextMenuStrip och kan inte läggas till direkt i ett formulär. De olika containerklasserna är utformade för att innehålla en lämplig delmängd av ToolStripItem kontroller.

Observera En given ToolStripItem kan inte ha mer än en överordnad ToolStrip. Du måste kopiera ToolStripItem och lägga till den i andra ToolStrip kontroller.

I följande tabell visas de element som härleds från ToolStripItem klassen och som därför kan hanteras i en ToolStrip eller ToolStripDropDown.

Element Description
ToolStripButton En verktygsfältsknapp som stöder bilder och text.
ToolStripLabel En textetikett används vanligtvis i ett statusfält eller ToolStrip som en kommentar eller rubrik.
ToolStripSeparator Ett blanksteg eller blanksteg som inte kan väljas med en lodrät stapel som visuellt grupperar element.
ToolStripControlHost En ToolStripItem som är värd för en ToolStripComboBox, ToolStripTextBox, ToolStripProgressBar, andra Windows Forms kontroller eller anpassade kontroller.

A ToolStripComboBox är en textruta där användaren kan ange text, tillsammans med en lista som användaren kan välja text från för att fylla textrutan.

A ToolStripTextBox gör att användaren kan ange text.

En ToolStripProgressBar representerar en Windows förloppsindikator som finns i en StatusStrip.
ToolStripDropDownItem A ToolStripItem som är värd för , ToolStripMenuItemToolStripSplitButtonoch ToolStripDropDownButton.

A ToolStripMenuItem är ett valbart alternativ som visas på en meny eller snabbmeny.

A ToolStripSplitButton är en kombination av en vanlig knapp och en nedrullningsbara knapp.

A ToolStripDropDownButton är en knapp som stöder listrutefunktioner.
ToolStripStatusLabel En panel i en StatusStrip kontroll.

Konstruktorer

Name Description
ToolStripItem()

Initierar en ny instans av ToolStripItem klassen.

ToolStripItem(String, Image, EventHandler, String)

Initierar en ny instans av ToolStripItem klassen med angiven visningstext, bild, händelsehanterare och namn.

ToolStripItem(String, Image, EventHandler)

Initierar en ny instans av ToolStripItem klassen med det angivna namnet, avbildningen och händelsehanteraren.

Egenskaper

Name Description
AccessibilityObject

Hämtar den AccessibleObject tilldelade kontrollen.

AccessibleDefaultActionDescription

Hämtar eller anger standardåtgärdsbeskrivningen för kontrollen för användning av hjälpmedelsklientprogram.

AccessibleDescription

Hämtar eller anger beskrivningen som ska rapporteras till tillgänglighetsklientprogram.

AccessibleName

Hämtar eller anger namnet på kontrollen för användning av hjälpmedelsklientprogram.

AccessibleRole

Hämtar eller anger kontrollens tillgängliga roll, som anger typen av användargränssnittselement för kontrollen.

Alignment

Hämtar eller anger ett värde som anger om objektet justeras mot början eller slutet av ToolStrip.

AllowDrop

Hämtar eller anger ett värde som anger om ordning på dra och släpp och objekt hanteras via händelser som du implementerar.

Anchor

Hämtar eller anger kanterna på containern som en ToolStripItem är bunden till och avgör hur en ToolStripItem storleksändras med dess överordnade.

AutoSize

Hämtar eller anger ett värde som anger om objektet ska storleksanpassas automatiskt.

AutoToolTip

Hämtar eller anger ett värde som anger om du vill använda Text egenskapen eller ToolTipText egenskapen för ToolStripItem Knappbeskrivning.

Available

Hämtar eller anger ett värde som anger om ToolStripItem ska placeras på en ToolStrip.

BackColor

Hämtar eller anger bakgrundsfärgen för objektet.

BackgroundImage

Hämtar eller anger bakgrundsbilden som visas i objektet.

BackgroundImageLayout

Hämtar eller anger bakgrundsbildlayouten ToolStripItemsom används för .

BindingContext

Hämtar eller anger samlingen valutahanterare för IBindableComponent.

(Ärvd från BindableComponent)
Bounds

Hämtar objektets storlek och plats.

CanRaiseEvents

Hämtar ett värde som anger om komponenten kan generera en händelse.

(Ärvd från Component)
CanSelect

Hämtar ett värde som anger om objektet kan väljas.

Command

Hämtar eller anger vars ICommandExecute(Object) metod anropas när händelsen ToolStripItem anropas Click .

CommandParameter

Hämtar eller anger parametern som skickas till den ICommand som har tilldelats egenskapen Command .

Container

Hämtar som IContainer innehåller Component.

(Ärvd från Component)
ContentRectangle

Hämtar det område där innehåll, till exempel text och ikoner, kan placeras inom en ToolStripItem utan att skriva över bakgrundskantlinjer.

DataBindings

Hämtar insamling av databindningsobjekt för den här IBindableComponent.

(Ärvd från BindableComponent)
DefaultAutoToolTip

Hämtar ett värde som anger om det ToolTip som definieras som standard ska visas.

DefaultDisplayStyle

Hämtar ett värde som anger vad som visas på ToolStripItem.

DefaultMargin

Hämtar standardmarginalen för ett objekt.

DefaultPadding

Hämtar objektets interna avståndsegenskaper.

DefaultSize

Hämtar standardstorleken för objektet.

DesignMode

Hämtar ett värde som anger om det Component för närvarande är i designläge.

(Ärvd från Component)
DismissWhenClicked

Hämtar ett värde som anger om objekt i en ToolStripDropDown är dolda när de har klickats.

DisplayStyle

Hämtar eller anger om text och bilder ska visas på en ToolStripItem.

Dock

Hämtar eller anger vilka kantlinjer som ToolStripItem dockas till den överordnade kontrollen och avgör hur en ToolStripItem storleksändras med dess överordnade.

DoubleClickEnabled

Hämtar eller anger ett värde som anger om ToolStripItem kan aktiveras genom att dubbelklicka på musen.

Enabled

Hämtar eller anger ett värde som anger om den överordnade kontrollen för ToolStripItem är aktiverad.

Events

Hämtar listan över händelsehanterare som är kopplade till den här Component.

(Ärvd från Component)
Font

Hämtar eller anger teckensnittet för texten som visas av objektet.

ForeColor

Hämtar eller anger objektets förgrundsfärg.

Height

Hämtar eller anger höjden i bildpunkter för en ToolStripItem.

Image

Hämtar eller anger den bild som visas på en ToolStripItem.

ImageAlign

Hämtar eller ställer in justeringen av bilden på en ToolStripItem.

ImageIndex

Hämtar eller anger indexvärdet för den bild som visas på objektet.

ImageKey

Hämtar eller anger nyckelåtkomsten för bilden i ImageList som visas på en ToolStripItem.

ImageScaling

Hämtar eller anger ett värde som anger om en avbildning på en ToolStripItem storleksändras automatiskt så att den får plats i en container.

ImageTransparentColor

Hämtar eller anger färgen som ska behandlas som transparent i en ToolStripItem bild.

IsDisposed

Hämtar ett värde som anger om objektet har tagits bort.

IsOnDropDown

Hämtar ett värde som anger om containern för den aktuella Control är en ToolStripDropDown.

IsOnOverflow

Hämtar ett värde som anger om egenskapen Placement är inställd på Overflow.

Margin

Hämtar eller anger utrymmet mellan objektet och intilliggande objekt.

MergeAction

Hämtar eller anger hur underordnade menyer sammanfogas med överordnade menyer.

MergeIndex

Hämtar eller anger positionen för ett sammanfogat objekt i den aktuella ToolStrip.

Name

Hämtar eller anger namnet på objektet.

Overflow

Hämtar eller anger om objektet är kopplat till ToolStrip eller ToolStripOverflowButton kan flyta mellan de två.

Owner

Hämtar eller anger ägaren till det här objektet.

OwnerItem

Hämtar överordnad ToolStripItem för den här ToolStripItem.

Padding

Hämtar eller anger det interna avståndet, i bildpunkter, mellan objektets innehåll och dess kanter.

Parent

Hämtar eller anger den överordnade containern för ToolStripItem.

Placement

Hämtar objektets aktuella layout.

Pressed

Hämtar ett värde som anger om objektets tillstånd trycks in.

Renderer

Returnerar den överordnade ToolStriprenderaren.

RightToLeft

Hämtar eller anger ett värde som anger om objekt ska placeras från höger till vänster och text ska skrivas från höger till vänster.

RightToLeftAutoMirrorImage

Speglar automatiskt bilden ToolStripItem när egenskapen är inställd på RightToLeftYes.

Selected

Hämtar ett värde som anger om objektet är markerat.

ShowKeyboardCues

Hämtar ett värde som anger om du vill visa eller dölja genvägsnycklar.

Site

Hämtar eller ställer in ISite i Component.

(Ärvd från Component)
Size

Hämtar eller anger objektets storlek.

Tag

Hämtar eller anger objektet som innehåller data om objektet.

Text

Hämtar eller anger den text som ska visas på objektet.

TextAlign

Hämtar eller ställer in justeringen av texten på en ToolStripLabel.

TextDirection

Hämtar orienteringen för text som används på en ToolStripItem.

TextImageRelation

Hämtar eller anger positionen ToolStripItem för text och bild i förhållande till varandra.

ToolTipText

Hämtar eller anger texten som visas som en ToolTip för en kontroll.

Visible

Hämtar eller anger ett värde som anger om objektet visas.

Width

Hämtar eller anger bredden i bildpunkter i en ToolStripItem.

Metoder

Name Description
CreateAccessibilityInstance()

Skapar ett nytt hjälpmedelsobjekt ToolStripItemför .

CreateObjRef(Type)

Skapar ett objekt som innehåller all relevant information som krävs för att generera en proxy som används för att kommunicera med ett fjärrobjekt.

(Ärvd från MarshalByRefObject)
Dispose()

Släpper alla resurser som används av Component.

(Ärvd från Component)
Dispose(Boolean)

Släpper de ohanterade resurser som används av ToolStripItem och släpper eventuellt de hanterade resurserna.

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

Påbörjar en dragåtgärd.

DoDragDrop(Object, DragDropEffects)

Påbörjar en dra och släpp-åtgärd.

Equals(Object)

Avgör om det angivna objektet är lika med det aktuella objektet.

(Ärvd från Object)
GetCurrentParent()

Hämtar containern ToolStrip för den aktuella ToolStripItem.

GetHashCode()

Fungerar som standard-hash-funktion.

(Ärvd från Object)
GetLifetimeService()
Föråldrad.

Hämtar det aktuella livslängdstjänstobjektet som styr livslängdsprincipen för den här instansen.

(Ärvd från MarshalByRefObject)
GetPreferredSize(Size)

Hämtar storleken på ett rektangulärt område där en kontroll får plats.

GetService(Type)

Returnerar ett objekt som representerar en tjänst som tillhandahålls av Component eller av dess Container.

(Ärvd från Component)
GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
InitializeLifetimeService()
Föråldrad.

Hämtar ett tjänstobjekt för livslängd för att styra livslängdsprincipen för den här instansen.

(Ärvd från MarshalByRefObject)
Invalidate()

Ogiltigförklarar hela ytan av ToolStripItem och gör att den ritas om.

Invalidate(Rectangle)

Ogiltigförklarar den angivna regionen ToolStripItem i genom att lägga till den i uppdateringsregionen ToolStripItemi , som är det område som ska målas om vid nästa färgåtgärd och gör att ett färgmeddelande skickas till ToolStripItem.

IsInputChar(Char)

Avgör om ett tecken är ett indatatecken som objektet känner igen.

IsInputKey(Keys)

Avgör om den angivna nyckeln är en vanlig indatanyckel eller en särskild nyckel som kräver förbearbetning.

MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
MemberwiseClone(Boolean)

Skapar en ytlig kopia av det aktuella MarshalByRefObject objektet.

(Ärvd från MarshalByRefObject)
OnAvailableChanged(EventArgs)

Höjer händelsen AvailableChanged.

OnBackColorChanged(EventArgs)

Genererar händelsen BackColorChanged .

OnBindingContextChanged(EventArgs)

Genererar händelsen BindingContextChanged .

(Ärvd från BindableComponent)
OnBoundsChanged()

Inträffar när egenskapen Bounds ändras.

OnClick(EventArgs)

Genererar händelsen Click .

OnCommandCanExecuteChanged(EventArgs)

Genererar händelsen CommandCanExecuteChanged .

OnCommandChanged(EventArgs)

Genererar händelsen CommandChanged .

OnCommandParameterChanged(EventArgs)

Genererar händelsen CommandParameterChanged .

OnDisplayStyleChanged(EventArgs)

Genererar händelsen DisplayStyleChanged .

OnDoubleClick(EventArgs)

Genererar händelsen DoubleClick .

OnDragDrop(DragEventArgs)

Genererar händelsen DragDrop .

OnDragEnter(DragEventArgs)

Genererar händelsen DragEnter .

OnDragLeave(EventArgs)

Genererar händelsen DragLeave .

OnDragOver(DragEventArgs)

Genererar händelsen DragOver .

OnEnabledChanged(EventArgs)

Genererar händelsen EnabledChanged .

OnFontChanged(EventArgs)

Genererar händelsen FontChanged .

OnForeColorChanged(EventArgs)

Genererar händelsen ForeColorChanged .

OnGiveFeedback(GiveFeedbackEventArgs)

Genererar händelsen GiveFeedback .

OnLayout(LayoutEventArgs)

Genererar händelsen Layout .

OnLocationChanged(EventArgs)

Genererar händelsen LocationChanged .

OnMouseDown(MouseEventArgs)

Genererar händelsen MouseDown .

OnMouseEnter(EventArgs)

Genererar händelsen MouseEnter .

OnMouseHover(EventArgs)

Genererar händelsen MouseHover .

OnMouseLeave(EventArgs)

Genererar händelsen MouseLeave .

OnMouseMove(MouseEventArgs)

Genererar händelsen MouseMove .

OnMouseUp(MouseEventArgs)

Genererar händelsen MouseUp .

OnOwnerChanged(EventArgs)

Genererar händelsen OwnerChanged .

OnOwnerFontChanged(EventArgs)

Genererar FontChanged händelsen när Font egenskapen har ändrats på överordnad för ToolStripItem.

OnPaint(PaintEventArgs)

Genererar händelsen Paint .

OnParentBackColorChanged(EventArgs)

Genererar händelsen BackColorChanged .

OnParentChanged(ToolStrip, ToolStrip)

Genererar händelsen ParentChanged .

OnParentEnabledChanged(EventArgs)

Genererar EnabledChanged händelsen när Enabled egenskapsvärdet för objektets container ändras.

OnParentForeColorChanged(EventArgs)

Genererar händelsen ForeColorChanged .

OnParentRightToLeftChanged(EventArgs)

Genererar händelsen RightToLeftChanged .

OnQueryContinueDrag(QueryContinueDragEventArgs)

Genererar händelsen QueryContinueDrag .

OnRequestCommandExecute(EventArgs)

Anropas i kontexten OnClick(EventArgs) för att anropa Execute(Object) om kontexten tillåter det.

OnRightToLeftChanged(EventArgs)

Genererar händelsen RightToLeftChanged .

OnSelectedChanged(EventArgs)

Genererar händelsen SelectedChanged .

OnTextChanged(EventArgs)

Genererar händelsen TextChanged .

OnVisibleChanged(EventArgs)

Genererar händelsen VisibleChanged .

PerformClick()

Genererar en Click händelse för en ToolStripItem.

ProcessCmdKey(Message, Keys)

Bearbetar en kommandonyckel.

ProcessDialogKey(Keys)

Bearbetar en dialognyckel.

ProcessMnemonic(Char)

Bearbetar ett mnemonic-tecken.

ResetBackColor()

Den här metoden är inte relevant för den här klassen.

ResetDisplayStyle()

Den här metoden är inte relevant för den här klassen.

ResetFont()

Den här metoden är inte relevant för den här klassen.

ResetForeColor()

Den här metoden är inte relevant för den här klassen.

ResetImage()

Den här metoden är inte relevant för den här klassen.

ResetMargin()

Den här metoden är inte relevant för den här klassen.

ResetPadding()

Den här metoden är inte relevant för den här klassen.

ResetRightToLeft()

Den här metoden är inte relevant för den här klassen.

ResetTextDirection()

Den här metoden är inte relevant för den här klassen.

Select()

Markerar objektet.

SetBounds(Rectangle)

Anger objektets storlek och plats.

SetVisibleCore(Boolean)

ToolStripItem Anger det angivna synliga tillståndet.

ToString()

Returnerar ett String som innehåller namnet på Component, om det finns. Den här metoden bör inte åsidosättas.

Händelser

Name Description
AvailableChanged

Inträffar när värdet för Available egenskapen ändras.

BackColorChanged

Inträffar när värdet för BackColor egenskapen ändras.

BindingContextChanged

Inträffar när bindningskontexten har ändrats.

(Ärvd från BindableComponent)
Click

Inträffar när ToolStripItem klickas.

CommandCanExecuteChanged

Inträffar när statusen CanExecute(Object) för den ICommand som har tilldelats egenskapen Command har ändrats.

CommandChanged

Inträffar när den tilldelade ICommandCommand egenskapen har ändrats.

CommandParameterChanged

Inträffar när värdet för CommandParameter egenskapen har ändrats.

DisplayStyleChanged

Inträffar när har DisplayStyle ändrats.

Disposed

Inträffar när komponenten tas bort av ett anrop till Dispose() metoden.

(Ärvd från Component)
DoubleClick

Inträffar när objektet dubbelklickas med musen.

DragDrop

Inträffar när användaren drar ett objekt och användaren släpper musknappen, vilket anger att objektet ska släppas i det här objektet.

DragEnter

Inträffar när användaren drar ett objekt till klientområdet för det här objektet.

DragLeave

Inträffar när användaren drar ett objekt och muspekaren inte längre är över klientområdet för det här objektet.

DragOver

Inträffar när användaren drar ett objekt över klientområdet för det här objektet.

EnabledChanged

Inträffar när Enabled-egenskapsvärdet har ändrats.

ForeColorChanged

Inträffar när egenskapsvärdet ForeColor ändras.

GiveFeedback

Inträffar under en dragåtgärd.

LocationChanged

Inträffar när platsen för en ToolStripItem uppdateras.

MouseDown

Inträffar när muspekaren är över objektet och en musknapp trycks in.

MouseEnter

Inträffar när muspekaren anger objektet.

MouseHover

Inträffar när muspekaren hovrar över objektet.

MouseLeave

Inträffar när muspekaren lämnar objektet.

MouseMove

Inträffar när muspekaren flyttas över objektet.

MouseUp

Inträffar när muspekaren är över objektet och en musknapp släpps.

OwnerChanged

Inträffar när egenskapen Owner ändras.

Paint

Inträffar när objektet ritas om.

QueryAccessibilityHelp

Inträffar när ett hjälpmedelsklientprogram anropar hjälpen ToolStripItemför .

QueryContinueDrag

Inträffar under en drag-och-släpp-åtgärd och gör att drakällan kan avgöra om dra och släpp-åtgärden ska avbrytas.

RightToLeftChanged

Inträffar när egenskapsvärdet RightToLeft ändras.

SelectedChanged

Inträffar när värdet för Selected egenskapen ändras.

TextChanged

Inträffar när värdet för Text egenskapen ändras.

VisibleChanged

Inträffar när värdet för Visible egenskapen ändras.

Explicita gränssnittsimplementeringar

Name Description
IDropTarget.OnDragDrop(DragEventArgs)

Genererar händelsen DragDrop .

IDropTarget.OnDragEnter(DragEventArgs)

Genererar händelsen DragEnter .

IDropTarget.OnDragLeave(EventArgs)

Genererar händelsen DragLeave .

IDropTarget.OnDragOver(DragEventArgs)

Genererar händelsen DragOver .

Gäller för

Se även