ToolStripItem Klasse

Definition

Stellt die abstrakte Basisklasse dar, die Ereignisse und Layout für alle Elemente verwaltet, die ein ToolStrip oder ein ToolStripDropDown enthalten kann.Represents the abstract base class that manages events and layout for all the elements that a ToolStrip or ToolStripDropDown can contain.

public ref class ToolStripItem abstract : System::ComponentModel::Component, IDisposable, System::Windows::Forms::IDropTarget
public abstract class ToolStripItem : System.ComponentModel.Component, IDisposable, System.Windows.Forms.IDropTarget
type ToolStripItem = class
    inherit Component
    interface IDropTarget
    interface IComponent
    interface IDisposable
Public MustInherit Class ToolStripItem
Inherits Component
Implements IDisposable, IDropTarget
Vererbung
Abgeleitet
Implementiert

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie ein benutzerdefiniertes ToolStripItem Steuerelement implementiert wird.The following code example demonstrates how to implement a custom ToolStripItem control.

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

Hinweise

Ein ToolStripItem ist ein Element, z. b. eine Schaltfläche, ein Kombinations Feld, ein Textfeld oder eine Bezeichnung, das in einem ToolStrip Steuerelement oder einem ToolStripDropDown-Steuerelement enthalten sein kann, das einem Windows-Kontextmenü ähnelt.A ToolStripItem is an element such as a button, combo box, text box, or label that can be contained in a ToolStrip control or a ToolStripDropDown control, which is similar to a Windows shortcut menu. Die ToolStrip-Klasse verwaltet das Zeichnen und die Tastatur-und Maus Eingaben, einschließlich Drag & Drop-Eingaben, für diese Elemente, und die ToolStripItem Klasse verwaltet Ereignisse und Layouts innerhalb der Elemente selbst.The ToolStrip class manages the painting and keyboard and mouse input, including drag-and-drop input, for these elements, and the ToolStripItem class manages events and layout within the elements themselves.

ToolStripItem Klassen erben entweder direkt von ToolStripItem, oder Sie erben indirekt von ToolStripItem durch ToolStripControlHost oder ToolStripDropDownItem.ToolStripItem classes either inherit directly from ToolStripItem, or they inherit indirectly from ToolStripItem through ToolStripControlHost or ToolStripDropDownItem.

ToolStripItem Steuerelemente müssen in einer ToolStrip, MenuStrip, StatusStripoder ContextMenuStrip enthalten sein und können nicht direkt zu einem Formular hinzugefügt werden.ToolStripItem controls must be contained in a ToolStrip, MenuStrip, StatusStrip, or ContextMenuStrip and cannot be added directly to a form. Die verschiedenen Containerklassen sind so konzipiert, dass Sie eine geeignete Teilmenge von ToolStripItem-Steuerelementen enthalten.The various container classes are designed to contain an appropriate subset of ToolStripItem controls.

Hinweis Ein angegebenes ToolStripItem darf nicht mehr als ein übergeordnetes ToolStriphaben.Note A given ToolStripItem cannot have more than one parent ToolStrip. Sie müssen das ToolStripItem kopieren und es anderen ToolStrip-Steuerelementen hinzufügen.You must copy of the ToolStripItem and add it to other ToolStrip controls.

In der folgenden Tabelle sind die Elemente aufgeführt, die von der ToolStripItem-Klasse abgeleitet sind und daher in einem ToolStrip oder ToolStripDropDowngehostet werden können.The following table shows the elements that derive from the ToolStripItem class and which therefore can be hosted in a ToolStrip or ToolStripDropDown.

ElementElement BeschreibungDescription
ToolStripButton Eine Symbolleisten-Schaltfläche, die Bilder und Text unterstützt.A toolbar button that supports images and text.
ToolStripLabel Eine Text Bezeichnung, die in der Regel in einer Statusleiste oder ToolStrip als Kommentar oder Titel verwendet wird.A text label typically used in a status bar or ToolStrip as a comment or title.
ToolStripSeparator Ein nicht auswählbarer Bereich oder Platz mit einem senkrechten Strich, der Elemente visuell gruppiert.A non-selectable space or space with a vertical bar that visually groups elements.
ToolStripControlHost Eine ToolStripItem, die eine ToolStripComboBox, ToolStripTextBox, ToolStripProgressBar, andere Windows Forms Steuerelemente oder benutzerdefinierte Steuerelemente hostet.A ToolStripItem that hosts a ToolStripComboBox, ToolStripTextBox, ToolStripProgressBar, other Windows Forms controls, or custom controls.

Bei einem ToolStripComboBox handelt es sich um ein Textfeld, in dem der Benutzer Text eingeben kann, zusammen mit einer Liste, aus der der Benutzer Text auswählen kann, um das Textfeld auszufüllen.A ToolStripComboBox is a text box in which the user can enter text, along with a list from which the user can select text to fill the text box.

Ein ToolStripTextBox ermöglicht dem Benutzer die Eingabe von Text.A ToolStripTextBox enables the user to enter text.

Ein ToolStripProgressBar das ein in einem StatusStripenthaltenes Windows-Statusanzeige-Steuerelement darstellt.A ToolStripProgressBar represents a Windows progress bar control contained in a StatusStrip.
ToolStripDropDownItem Eine ToolStripItem, die eine ToolStripMenuItem, ToolStripSplitButtonund ToolStripDropDownButtonhostet.A ToolStripItem that hosts a ToolStripMenuItem, ToolStripSplitButton, and ToolStripDropDownButton.

Eine ToolStripMenuItem ist eine auswählbare Option, die in einem Menü oder Kontextmenü angezeigt wird.A ToolStripMenuItem is a selectable option displayed on a menu or context menu.

Ein ToolStripSplitButton ist eine Kombination aus einem regulären und einer Dropdown Schaltfläche.A ToolStripSplitButton is a combination of a regular button and a drop-down button.

Eine ToolStripDropDownButton ist eine Schaltfläche, die die Dropdown-Funktionalität unterstützt.A ToolStripDropDownButton is a button that supports drop-down functionality.
ToolStripStatusLabel Ein Bereich in einem StatusStrip-Steuerelement.A panel in a StatusStrip control.

Konstruktoren

ToolStripItem()

Initialisiert eine neue Instanz der ToolStripItem-Klasse.Initializes a new instance of the ToolStripItem class.

ToolStripItem(String, Image, EventHandler)

Initialisiert eine neue Instanz der ToolStripItem-Klasse mit dem angegebenen Namen, Bild und Ereignishandler.Initializes a new instance of the ToolStripItem class with the specified name, image, and event handler.

ToolStripItem(String, Image, EventHandler, String)

Initialisiert eine neue Instanz der ToolStripItem-Klasse mit dem angegebenen Anzeigetext, dem angegebenen Bild, dem angegebenen Ereignishandler und dem angegebenen Namen.Initializes a new instance of the ToolStripItem class with the specified display text, image, event handler, and name.

Eigenschaften

AccessibilityObject

Ruft das dem Steuerelement zugewiesene AccessibleObject ab.Gets the AccessibleObject assigned to the control.

AccessibleDefaultActionDescription

Ruft die Standardbeschreibung der Aktion des Steuerelements ab, das von Clientanwendungen für Barrierefreiheit verwendet wird, oder legt diese fest.Gets or sets the default action description of the control for use by accessibility client applications.

AccessibleDescription

Ruft die Beschreibung ab, die an Clientanwendungen für die Barrierefreiheit gesendet wird, oder legt diese fest.Gets or sets the description that will be reported to accessibility client applications.

AccessibleName

Ruft den Namen des Steuerelements für die Verwendung durch Clientanwendungen für die Barrierefreiheit ab oder legt diesen fest.Gets or sets the name of the control for use by accessibility client applications.

AccessibleRole

Ruft die barrierefreie Rolle des Steuerelements ab, die den Typ des Benutzeroberflächenelements des Steuerelements angibt, oder legt diese fest.Gets or sets the accessible role of the control, which specifies the type of user interface element of the control.

Alignment

Ruft einen Wert ab, der angibt, ob das Element am Anfang oder am Ende des ToolStrip ausgerichtet wird, oder legt diesen Wert fest.Gets or sets a value indicating whether the item aligns towards the beginning or end of the ToolStrip.

AllowDrop

Ruft einen Wert ab, der angibt, ob Drag & Drop und die Neuordnung von Elementen über von Ihnen implementierte Ereignisse behandelt werden, oder legt diesen Wert fest.Gets or sets a value indicating whether drag-and-drop and item reordering are handled through events that you implement.

Anchor

Ruft die Ränder des Containers ab, an die ein ToolStripItem-Objekt gebunden ist, oder legt diese fest und bestimmt, wie die Größe des ToolStripItem-Objekts mit dessen übergeordnetem Element geändert wird.Gets or sets the edges of the container to which a ToolStripItem is bound and determines how a ToolStripItem is resized with its parent.

AutoSize

Ruft einen Wert ab, der angibt, ob die Größe des Elements automatisch festgelegt wird, oder legt diesen Wert fest.Gets or sets a value indicating whether the item is automatically sized.

AutoToolTip

Ruft einen Wert ab, der angibt, ob die Text-Eigenschaft oder die ToolTipText-Eigenschaft für die ToolStripItem-QuickInfo verwendet wird, oder legt diesen Wert fest.Gets or sets a value indicating whether to use the Text property or the ToolTipText property for the ToolStripItem ToolTip.

Available

Ruft einen Wert ab, der angibt, ob das ToolStripItem auf einen ToolStrip platziert werden soll, oder legt diesen Wert fest.Gets or sets a value indicating whether the ToolStripItem should be placed on a ToolStrip.

BackColor

Ruft die Hintergrundfarbe für das Element ab oder legt diese fest.Gets or sets the background color for the item.

BackgroundImage

Ruft das im Element angezeigte Hintergrundbild ab oder legt dieses fest.Gets or sets the background image displayed in the item.

BackgroundImageLayout

Ruft das Hintergrundbildlayout für das ToolStripItem ab oder legt dieses fest.Gets or sets the background image layout used for the ToolStripItem.

Bounds

Ruft die Größe und Position des Elements ab.Gets the size and location of the item.

CanRaiseEvents

Ruft einen Wert ab, der angibt, ob die Komponente ein Ereignis auslösen kann.Gets a value indicating whether the component can raise an event.

(Geerbt von Component)
CanSelect

Ruft einen Wert ab, der angibt, ob das Element ausgewählt werden kann.Gets a value indicating whether the item can be selected.

Container

Ruft den IContainer ab, der die Component enthält.Gets the IContainer that contains the Component.

(Geerbt von Component)
ContentRectangle

Ruft den Bereich ab, in dem Inhalte, z. B. Text und Symbole, in einem ToolStripItem platziert werden können, ohne dass Hintergrundrahmen überschrieben werden.Gets the area where content, such as text and icons, can be placed within a ToolStripItem without overwriting background borders.

DefaultAutoToolTip

Ruft einen Wert ab, der angibt, ob der als Standard definierte ToolTip angezeigt wird.Gets a value indicating whether to display the ToolTip that is defined as the default.

DefaultDisplayStyle

Ruft einen Wert ab, der angibt, was auf dem ToolStripItem angezeigt wird.Gets a value indicating what is displayed on the ToolStripItem.

DefaultMargin

Ruft den Standardrand eines Elements ab.Gets the default margin of an item.

DefaultPadding

Ruft die internen Abstandseigenschaften des Elements ab.Gets the internal spacing characteristics of the item.

DefaultSize

Ruft die Standardgröße des Elements ab.Gets the default size of the item.

DesignMode

Ruft einen Wert ab, der angibt, ob sich Component gegenwärtig im Entwurfsmodus befindet.Gets a value that indicates whether the Component is currently in design mode.

(Geerbt von Component)
DismissWhenClicked

Ruft einen Wert ab, der angibt, ob Elemente auf einem ToolStripDropDown ausgeblendet werden, nachdem auf sie geklickt wurde.Gets a value indicating whether items on a ToolStripDropDown are hidden after they are clicked.

DisplayStyle

Ruft einen Wert ab, der angibt, ob Text und Bilder auf einem ToolStripItem angezeigt werden, oder legt diesen Wert fest.Gets or sets whether text and images are displayed on a ToolStripItem.

Dock

Ruft ab oder legt fest, welche ToolStripItem-Rahmen am übergeordneten Steuerelement angedockt sind, und bestimmt, wie die Größe eines ToolStripItem mit dem übergeordneten Steuerelement geändert wird.Gets or sets which ToolStripItem borders are docked to its parent control and determines how a ToolStripItem is resized with its parent.

DoubleClickEnabled

Ruft einen Wert ab, der angibt, ob ToolStripItem durch einen doppelten Mausklick aktiviert werden kann, oder legt diesen Wert fest.Gets or sets a value indicating whether the ToolStripItem can be activated by double-clicking the mouse.

Enabled

Ruft einen Wert ab, der angibt, ob das übergeordnete Steuerelement des ToolStripItem aktiviert ist, oder legt diesen Wert fest.Gets or sets a value indicating whether the parent control of the ToolStripItem is enabled.

Events

Ruft die Liste der Ereignishandler ab, die dieser Component angefügt sind.Gets the list of event handlers that are attached to this Component.

(Geerbt von Component)
Font

Ruft die Schriftart des angezeigten Elementtexts ab oder legt diese fest.Gets or sets the font of the text displayed by the item.

ForeColor

Ruft die Vordergrundfarbe des Elements ab oder legt diese fest.Gets or sets the foreground color of the item.

Height

Ruft die Höhe eines ToolStripItem in Pixel ab oder legt diese fest.Gets or sets the height, in pixels, of a ToolStripItem.

Image

Ruft das in ToolStripItem dargestellte Bild ab oder legt dieses fest.Gets or sets the image that is displayed on a ToolStripItem.

ImageAlign

Ruft die Ausrichtung des Bilds in einem ToolStripItem ab oder legt diese fest.Gets or sets the alignment of the image on a ToolStripItem.

ImageIndex

Ruft den Indexwert des Bilds ab, das im Element angezeigt wird, oder legt diesen fest.Gets or sets the index value of the image that is displayed on the item.

ImageKey

Ruft einen Schlüsselaccessor für das Bild in der ImageList ab, die in einem ToolStripItem angezeigt wird, oder legt diesen fest.Gets or sets the key accessor for the image in the ImageList that is displayed on a ToolStripItem.

ImageScaling

Ruft einen Wert ab, der angibt, ob die Größe eines Bilds auf einem ToolStripItem automatisch geändert wird, damit es in einen Container passt, oder legt diesen Wert fest.Gets or sets a value indicating whether an image on a ToolStripItem is automatically resized to fit in a container.

ImageTransparentColor

Ruft die in einem ToolStripItem-Bild als transparent zu behandelnde Farbe ab oder legt diese fest.Gets or sets the color to treat as transparent in a ToolStripItem image.

IsDisposed

Ruft einen Wert ab, der angibt, ob das Objekt freigegeben wurde.Gets a value indicating whether the object has been disposed of.

IsOnDropDown

Ruft einen Wert ab, der angibt, ob der Container des aktuellen Control ein ToolStripDropDown ist.Gets a value indicating whether the container of the current Control is a ToolStripDropDown.

IsOnOverflow

Ruft einen Wert ab, der angibt, ob die Placement-Eigenschaft auf Overflow festgelegt ist.Gets a value indicating whether the Placement property is set to Overflow.

Margin

Ruft den Abstand zwischen dem Element und angrenzenden Elementen ab oder legt ihn fest.Gets or sets the space between the item and adjacent items.

MergeAction

Ruft ab oder legt fest, wie untergeordnete Menüs mit übergeordneten Menüs zusammengeführt werden.Gets or sets how child menus are merged with parent menus.

MergeIndex

Ruft die Position eines zusammengeführten Elements im aktuellen ToolStrip ab oder legt sie fest.Gets or sets the position of a merged item within the current ToolStrip.

Name

Ruft den Namen des Elements ab oder legt ihn fest.Gets or sets the name of the item.

Overflow

Ruft einen Wert ab, der angibt, ob das Element an den ToolStrip oder den ToolStripOverflowButton angefügt wird bzw. ob es sich dazwischen befinden kann, oder legt diesen Wert fest.Gets or sets whether the item is attached to the ToolStrip or ToolStripOverflowButton or can float between the two.

Owner

Ruft den Besitzer dieses Elements ab oder legt ihn fest.Gets or sets the owner of this item.

OwnerItem

Ruft das übergeordnete ToolStripItem dieses ToolStripItem ab.Gets the parent ToolStripItem of this ToolStripItem.

Padding

Ruft den internen Abstand zwischen dem Inhalt des Elements und seinen Rändern in Pixel ab oder legt den Abstand fest.Gets or sets the internal spacing, in pixels, between the item's contents and its edges.

Parent

Ruft den übergeordneten Container des ToolStripItem ab oder legt diesen fest.Gets or sets the parent container of the ToolStripItem.

Placement

Ruft das aktuelle Layout des Elements ab.Gets the current layout of the item.

Pressed

Ruft einen Wert ab, der angibt, ob sich das Element in einem gedrückten Zustand befindet.Gets a value indicating whether the state of the item is pressed.

RightToLeft

Ruft einen Wert ab, der angibt, ob Elemente von rechts nach links platziert und Texte von rechts nach links geschrieben werden sollen, oder legt diesen Wert fest.Gets or sets a value indicating whether items are to be placed from right to left and text is to be written from right to left.

RightToLeftAutoMirrorImage

Spiegelt das ToolStripItem-Bild automatisch, wenn die RightToLeft-Eigenschaft auf Yes festgelegt ist.Mirrors automatically the ToolStripItem image when the RightToLeft property is set to Yes.

Selected

Ruft einen Wert ab, der angibt, ob das Element ausgewählt ist.Gets a value indicating whether the item is selected.

ShowKeyboardCues

Ruft einen Wert ab, der angibt, ob Tastenkombinationen angezeigt oder ausgeblendet werden.Gets a value indicating whether to show or hide shortcut keys.

Site

Ruft den ISite von Component ab oder legt ihn fest.Gets or sets the ISite of the Component.

(Geerbt von Component)
Size

Ruft die Größe des Elements ab oder legt diese fest.Gets or sets the size of the item.

Tag

Ruft das Objekt ab, das Daten zum Element enthält, oder legt es fest.Gets or sets the object that contains data about the item.

Text

Ruft den Text ab, der auf dem Element angezeigt werden soll, oder legt ihn fest.Gets or sets the text that is to be displayed on the item.

TextAlign

Ruft die Ausrichtung des Texts in einem ToolStripLabel ab oder legt diese fest.Gets or sets the alignment of the text on a ToolStripLabel.

TextDirection

Ruft die Ausrichtung des auf ein ToolStripItem angewendeten Texts ab.Gets the orientation of text used on a ToolStripItem.

TextImageRelation

Ruft die Position von Text und Bild eines ToolStripItem im Verhältnis zueinander ab oder legt diese fest.Gets or sets the position of ToolStripItem text and image relative to each other.

ToolTipText

Ruft den Text ab, der als ToolTip für ein Steuerelement angezeigt wird, oder legt diesen fest.Gets or sets the text that appears as a ToolTip for a control.

Visible

Ruft einen Wert ab, der angibt, ob das Element angezeigt wird, oder legt diesen fest.Gets or sets a value indicating whether the item is displayed.

Width

Ruft die Breite eines ToolStripItem in Pixel ab oder legt diese fest.Gets or sets the width in pixels of a ToolStripItem.

Methoden

CreateAccessibilityInstance()

Erstellt ein neues Objekt für die Barrierefreiheit für den ToolStripItem.Creates a new accessibility object for the ToolStripItem.

CreateObjRef(Type)

Erstellt ein Objekt mit allen relevanten Informationen, die zum Generieren eines Proxys für die Kommunikation mit einem Remoteobjekt erforderlich sind.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Geerbt von MarshalByRefObject)
Dispose()

Gibt alle vom Component verwendeten Ressourcen frei.Releases all resources used by the Component.

(Geerbt von Component)
Dispose(Boolean)

Veröffentlicht die durch den ToolStripItem verwendeten nicht verwalteten Ressourcen und nimmt eine optionale Veröffentlichung der verwalteten Ressourcen vor.Releases the unmanaged resources used by the ToolStripItem and optionally releases the managed resources.

DoDragDrop(Object, DragDropEffects)

Beginnt einen Drag & Drop-Vorgang.Begins a drag-and-drop operation.

Equals(Object)

Ermittelt, ob das angegebene Objekt und das aktuelle Objekt gleich sind.Determines whether the specified object is equal to the current object.

(Geerbt von Object)
GetCurrentParent()

Ruft den ToolStrip ab, der den Container des aktuellen ToolStripItem darstellt.Retrieves the ToolStrip that is the container of the current ToolStripItem.

GetHashCode()

Dient als die Standard-HashfunktionServes as the default hash function.

(Geerbt von Object)
GetLifetimeService()

Ruft das aktuelle Lebensdauerdienstobjekt ab, das die Lebensdauerrichtlinien für diese Instanz steuert.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Geerbt von MarshalByRefObject)
GetPreferredSize(Size)

Ruft die Größe eines rechteckigen Bereichs ab, in den ein Steuerelement eingefügt werden kann.Retrieves the size of a rectangular area into which a control can be fit.

GetService(Type)

Gibt ein Objekt zurück, das einen von der Component oder von deren Container bereitgestellten Dienst darstellt.Returns an object that represents a service provided by the Component or by its Container.

(Geerbt von Component)
GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Geerbt von Object)
InitializeLifetimeService()

Ruft ein Lebensdauerdienstobjekt zur Steuerung der Lebensdauerrichtlinie für diese Instanz ab.Obtains a lifetime service object to control the lifetime policy for this instance.

(Geerbt von MarshalByRefObject)
Invalidate()

Erklärt die ganze Oberfläche des ToolStripItem für ungültig und bewirkt, dass es neu gezeichnet wird.Invalidates the entire surface of the ToolStripItem and causes it to be redrawn.

Invalidate(Rectangle)

Erklärt den angegebenen Bereich des ToolStripItem für ungültig, indem es diesen dem Aktualisierungsbereich des ToolStripItem hinzufügt. Dies ist der Bereich, der beim nächsten Zeichnungsvorgang neu gezeichnet wird. Außerdem wird veranlasst, dass eine Zeichnungsmeldung an das ToolStripItem gesendet wird.Invalidates the specified region of the ToolStripItem by adding it to the update region of the ToolStripItem, which is the area that will be repainted at the next paint operation, and causes a paint message to be sent to the ToolStripItem.

IsInputChar(Char)

Bestimmt, ob ein Zeichen ein vom Element erkanntes Eingabezeichen ist.Determines whether a character is an input character that the item recognizes.

IsInputKey(Keys)

Bestimmt, ob der angegebene Schlüssel ein regulärer Eingabeschlüssel oder ein besonderer Schlüssel ist, der eine Vorverarbeitung erfordert.Determines whether the specified key is a regular input key or a special key that requires preprocessing.

MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Geerbt von Object)
MemberwiseClone(Boolean)

Erstellt eine flache Kopie des aktuellen MarshalByRefObject-Objekts.Creates a shallow copy of the current MarshalByRefObject object.

(Geerbt von MarshalByRefObject)
OnAvailableChanged(EventArgs)

Löst das AvailableChanged-Ereignis aus.Raises the AvailableChanged event.

OnBackColorChanged(EventArgs)

Löst das Ereignis BackColorChanged aus.Raises the BackColorChanged event.

OnBoundsChanged()

Tritt ein, wenn sich die Bounds-Eigenschaft ändert.Occurs when the Bounds property changes.

OnClick(EventArgs)

Löst das Ereignis Click aus.Raises the Click event.

OnDisplayStyleChanged(EventArgs)

Löst das Ereignis DisplayStyleChanged aus.Raises the DisplayStyleChanged event.

OnDoubleClick(EventArgs)

Löst das Ereignis DoubleClick aus.Raises the DoubleClick event.

OnDragDrop(DragEventArgs)

Löst das Ereignis DragDrop aus.Raises the DragDrop event.

OnDragEnter(DragEventArgs)

Löst das Ereignis DragEnter aus.Raises the DragEnter event.

OnDragLeave(EventArgs)

Löst das Ereignis DragLeave aus.Raises the DragLeave event.

OnDragOver(DragEventArgs)

Löst das Ereignis DragOver aus.Raises the DragOver event.

OnEnabledChanged(EventArgs)

Löst das Ereignis EnabledChanged aus.Raises the EnabledChanged event.

OnFontChanged(EventArgs)

Löst das Ereignis FontChanged aus.Raises the FontChanged event.

OnForeColorChanged(EventArgs)

Löst das Ereignis ForeColorChanged aus.Raises the ForeColorChanged event.

OnGiveFeedback(GiveFeedbackEventArgs)

Löst das Ereignis GiveFeedback aus.Raises the GiveFeedback event.

OnLayout(LayoutEventArgs)

Löst das Ereignis Layout aus.Raises the Layout event.

OnLocationChanged(EventArgs)

Löst das Ereignis LocationChanged aus.Raises the LocationChanged event.

OnMouseDown(MouseEventArgs)

Löst das Ereignis MouseDown aus.Raises the MouseDown event.

OnMouseEnter(EventArgs)

Löst das Ereignis MouseEnter aus.Raises the MouseEnter event.

OnMouseHover(EventArgs)

Löst das Ereignis MouseHover aus.Raises the MouseHover event.

OnMouseLeave(EventArgs)

Löst das Ereignis MouseLeave aus.Raises the MouseLeave event.

OnMouseMove(MouseEventArgs)

Löst das Ereignis MouseMove aus.Raises the MouseMove event.

OnMouseUp(MouseEventArgs)

Löst das Ereignis MouseUp aus.Raises the MouseUp event.

OnOwnerChanged(EventArgs)

Löst das Ereignis OwnerChanged aus.Raises the OwnerChanged event.

OnOwnerFontChanged(EventArgs)

Löst das FontChanged-Ereignis aus, wenn sich die Font-Eigenschaft auf dem übergeordneten Element des ToolStripItem geändert hat.Raises the FontChanged event when the Font property has changed on the parent of the ToolStripItem.

OnPaint(PaintEventArgs)

Löst das Ereignis Paint aus.Raises the Paint event.

OnParentBackColorChanged(EventArgs)

Löst das Ereignis BackColorChanged aus.Raises the BackColorChanged event.

OnParentChanged(ToolStrip, ToolStrip)

Löst das Ereignis ParentChanged aus.Raises the ParentChanged event.

OnParentEnabledChanged(EventArgs)

Löst das EnabledChanged-Ereignis aus, wenn sich der Enabled-Eigenschaftswert des Containers ändert, zu dem das Element gehört.Raises the EnabledChanged event when the Enabled property value of the item's container changes.

OnParentForeColorChanged(EventArgs)

Löst das Ereignis ForeColorChanged aus.Raises the ForeColorChanged event.

OnParentRightToLeftChanged(EventArgs)

Löst das Ereignis RightToLeftChanged aus.Raises the RightToLeftChanged event.

OnQueryContinueDrag(QueryContinueDragEventArgs)

Löst das Ereignis QueryContinueDrag aus.Raises the QueryContinueDrag event.

OnRightToLeftChanged(EventArgs)

Löst das Ereignis RightToLeftChanged aus.Raises the RightToLeftChanged event.

OnTextChanged(EventArgs)

Löst das Ereignis TextChanged aus.Raises the TextChanged event.

OnVisibleChanged(EventArgs)

Löst das Ereignis VisibleChanged aus.Raises the VisibleChanged event.

PerformClick()

Generiert ein Click-Ereignis für ein ToolStripItem.Generates a Click event for a ToolStripItem.

ProcessCmdKey(Message, Keys)

Verarbeitet eine Befehlstaste.Processes a command key.

ProcessDialogKey(Keys)

Verarbeitet eine Tastatureingabe im Dialogfeld.Processes a dialog key.

ProcessMnemonic(Char)

Verarbeitet ein mnemonisches Zeichen.Processes a mnemonic character.

ResetBackColor()

Diese Methode ist für diese Klasse nicht relevant.This method is not relevant to this class.

ResetDisplayStyle()

Diese Methode ist für diese Klasse nicht relevant.This method is not relevant to this class.

ResetFont()

Diese Methode ist für diese Klasse nicht relevant.This method is not relevant to this class.

ResetForeColor()

Diese Methode ist für diese Klasse nicht relevant.This method is not relevant to this class.

ResetImage()

Diese Methode ist für diese Klasse nicht relevant.This method is not relevant to this class.

ResetMargin()

Diese Methode ist für diese Klasse nicht relevant.This method is not relevant to this class.

ResetPadding()

Diese Methode ist für diese Klasse nicht relevant.This method is not relevant to this class.

ResetRightToLeft()

Diese Methode ist für diese Klasse nicht relevant.This method is not relevant to this class.

ResetTextDirection()

Diese Methode ist für diese Klasse nicht relevant.This method is not relevant to this class.

Select()

Wählt das Element aus.Selects the item.

SetBounds(Rectangle)

Legt die Größe und Position des Elements fest.Sets the size and location of the item.

SetVisibleCore(Boolean)

Legt die ToolStripItem auf den angegebenen sichtbaren Zustand fest.Sets the ToolStripItem to the specified visible state.

ToString()

Gibt einen String zurück, der den Namen der Component enthält (sofern vorhanden).Returns a String containing the name of the Component, if any. Diese Methode darf nicht überschrieben werden.This method should not be overridden.

Ereignisse

AvailableChanged

Tritt auf, wenn sich der Wert der Available-Eigenschaft ändert.Occurs when the value of the Available property changes.

BackColorChanged

Tritt auf, wenn sich der Wert der BackColor-Eigenschaft ändert.Occurs when the value of the BackColor property changes.

Click

Tritt ein, wenn auf das ToolStripItem geklickt wird.Occurs when the ToolStripItem is clicked.

DisplayStyleChanged

Tritt ein, wenn der DisplayStyle geändert wurde.Occurs when the DisplayStyle has changed.

Disposed

Tritt ein, wenn die Komponente durch einen Aufruf der Dispose()-Methode freigegeben wird.Occurs when the component is disposed by a call to the Dispose() method.

(Geerbt von Component)
DoubleClick

Tritt ein, wenn mit der Maus auf das Element doppelgeklickt wird.Occurs when the item is double-clicked with the mouse.

DragDrop

Tritt ein, wenn der Benutzer ein Element mit dem Mauszeiger zieht und die Maustaste loslässt, womit angegeben wird, dass das eine Element auf einem anderen Element abgelegt werden soll.Occurs when the user drags an item and the user releases the mouse button, indicating that the item should be dropped into this item.

DragEnter

Tritt ein, wenn der Benutzer ein Element in den Clientbereich dieses Elements zieht.Occurs when the user drags an item into the client area of this item.

DragLeave

Tritt ein, wenn der Benutzer ein Element zieht und der Mauszeiger sich nicht mehr im Clientbereich dieses Elements befindet.Occurs when the user drags an item and the mouse pointer is no longer over the client area of this item.

DragOver

Tritt ein, wenn der Benutzer ein Element über den Clientbereich dieses Elements zieht.Occurs when the user drags an item over the client area of this item.

EnabledChanged

Tritt ein, wenn der Enabled-Eigenschaftswert geändert wurde.Occurs when the Enabled property value has changed.

ForeColorChanged

Tritt ein, wenn der ForeColor-Eigenschaftswert geändert wird.Occurs when the ForeColor property value changes.

GiveFeedback

Tritt während eines Ziehvorgangs ein.Occurs during a drag operation.

LocationChanged

Tritt ein, wenn die Position eines ToolStripItem aktualisiert wird.Occurs when the location of a ToolStripItem is updated.

MouseDown

Tritt ein, wenn sich der Mauszeiger über dem Element befindet und eine Maustaste gedrückt wird.Occurs when the mouse pointer is over the item and a mouse button is pressed.

MouseEnter

Tritt ein, wenn der Mauszeiger in den Bereich des Elements bewegt wird.Occurs when the mouse pointer enters the item.

MouseHover

Tritt ein, wenn mit dem Mauszeiger auf das Element gezeigt wird.Occurs when the mouse pointer hovers over the item.

MouseLeave

Tritt ein, wenn der Mauszeiger den Bereich des Elements verlässt.Occurs when the mouse pointer leaves the item.

MouseMove

Tritt ein, wenn der Mauszeiger über dem Element bewegt wird.Occurs when the mouse pointer is moved over the item.

MouseUp

Tritt ein, wenn sich der Mauszeiger über dem Element befindet und eine Maustaste losgelassen wird.Occurs when the mouse pointer is over the item and a mouse button is released.

OwnerChanged

Tritt ein, wenn sich die Owner-Eigenschaft ändert.Occurs when the Owner property changes.

Paint

Tritt ein, wenn das Element neu gezeichnet wird.Occurs when the item is redrawn.

QueryAccessibilityHelp

Tritt ein, wenn eine Clientanwendung für die Barrierefreiheit die Hilfe für das ToolStripItem aufruft.Occurs when an accessibility client application invokes help for the ToolStripItem.

QueryContinueDrag

Tritt während eines Drag & Drop-Vorgangs ein. Dadurch kann die Quelle des Ziehvorgangs bestimmen, ob der Drag & Drop-Vorgang abgebrochen werden soll.Occurs during a drag-and-drop operation and allows the drag source to determine whether the drag-and-drop operation should be canceled.

RightToLeftChanged

Tritt ein, wenn der RightToLeft-Eigenschaftswert geändert wird.Occurs when the RightToLeft property value changes.

TextChanged

Tritt auf, wenn sich der Wert der Text-Eigenschaft ändert.Occurs when the value of the Text property changes.

VisibleChanged

Tritt auf, wenn sich der Wert der Visible-Eigenschaft ändert.Occurs when the value of the Visible property changes.

Explizite Schnittstellenimplementierungen

IDropTarget.OnDragDrop(DragEventArgs)

Löst das Ereignis DragDrop aus.Raises the DragDrop event.

IDropTarget.OnDragEnter(DragEventArgs)

Löst das Ereignis DragEnter aus.Raises the DragEnter event.

IDropTarget.OnDragLeave(EventArgs)

Löst das Ereignis DragLeave aus.Raises the DragLeave event.

IDropTarget.OnDragOver(DragEventArgs)

Löst das Ereignis DragOver aus.Raises the DragOver event.

Gilt für:

Siehe auch