ToolStripItem 類別
定義
表示抽象基底類別,用於管理 ToolStrip 或 ToolStripDropDown 可包含之所有項目的事件和配置。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
- 繼承
- 衍生
- 實作
範例
下列程式碼範例示範如何執行自訂ToolStripItem控制項。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
備註
是一個專案,例如按鈕、下拉式方塊、文字方塊或標籤,可以包含ToolStrip在控制項或ToolStripDropDown控制項中,這類似于 Windows 快捷方式功能表。 ToolStripItemA 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. 類別會管理繪製和鍵盤與滑鼠輸入,包括這些元素的拖放輸入, ToolStripItem而類別會管理專案本身內的事件和版面配置。 ToolStripThe 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類別會直接繼承自ToolStripItem, 或透過ToolStripControlHost或ToolStripDropDownItem間接繼承ToolStripItem自。ToolStripItem classes either inherit directly from ToolStripItem, or they inherit indirectly from ToolStripItem through ToolStripControlHost or ToolStripDropDownItem.
ToolStripItem控制項必須ToolStrip包含在、、 StatusStrip或MenuStrip ContextMenuStrip中, 而且無法直接新增至表單。ToolStripItem controls must be contained in a ToolStrip, MenuStrip, StatusStrip, or ContextMenuStrip and cannot be added directly to a form. 各種容器類別的設計, 是為了包含適當的ToolStripItem控制項子集。The various container classes are designed to contain an appropriate subset of ToolStripItem controls.
注意給定ToolStripItem的不能有一個以上的ToolStrip父系。Note A given ToolStripItem cannot have more than one parent ToolStrip. 您必須複製ToolStripItem ,並將它新增至其他ToolStrip控制項。You must copy of the ToolStripItem and add it to other ToolStrip controls.
下表顯示衍生自ToolStripItem類別的專案,因此可以ToolStrip在或ToolStripDropDown中主控。The following table shows the elements that derive from the ToolStripItem class and which therefore can be hosted in a ToolStrip or ToolStripDropDown.
元素Element | 說明Description |
---|---|
ToolStripButton | 支援影像和文字的工具列按鈕。A toolbar button that supports images and text. |
ToolStripLabel | 通常用於狀態列或ToolStrip批註或標題的文字標籤。A text label typically used in a status bar or ToolStrip as a comment or title. |
ToolStripSeparator | 不可選取的空間或空格,具有以視覺方式分組元素的分隔號。A non-selectable space or space with a vertical bar that visually groups elements. |
ToolStripControlHost | 裝載、 、、ToolStripProgressBar其他 Windows Forms 控制項或自訂控制項的。 ToolStripTextBox ToolStripItem ToolStripComboBoxA ToolStripItem that hosts a ToolStripComboBox, ToolStripTextBox, ToolStripProgressBar, other Windows Forms controls, or custom controls. ToolStripComboBox是一個文字方塊,使用者可以在其中輸入文字,還有一個清單,使用者可以從中選取文字來填滿文字方塊。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. ToolStripTextBox可讓使用者輸入文字。A ToolStripTextBox enables the user to enter text. 代表包含在中的 Windows 進度列控制項。 StatusStrip ToolStripProgressBarA ToolStripProgressBar represents a Windows progress bar control contained in a StatusStrip. |
ToolStripDropDownItem | ToolStripItem 裝載ToolStripMenuItem 、ToolStripDropDownButton和的ToolStripSplitButton。A ToolStripItem that hosts a ToolStripMenuItem, ToolStripSplitButton, and ToolStripDropDownButton. ToolStripMenuItem是可選取的選項,會顯示在功能表或內容功能表上。A ToolStripMenuItem is a selectable option displayed on a menu or context menu. ToolStripSplitButton是一般按鈕和下拉式按鈕的組合。A ToolStripSplitButton is a combination of a regular button and a drop-down button. ToolStripDropDownButton是支援下拉式功能的按鈕。A ToolStripDropDownButton is a button that supports drop-down functionality. |
ToolStripStatusLabel | StatusStrip控制項中的面板。A panel in a StatusStrip control. |
建構函式
ToolStripItem() |
初始化 ToolStripItem 類別的新執行個體。Initializes a new instance of the ToolStripItem class. |
ToolStripItem(String, Image, EventHandler) |
使用指定的名稱、影像和事件處理常式,初始化 ToolStripItem 類別的新執行個體。Initializes a new instance of the ToolStripItem class with the specified name, image, and event handler. |
ToolStripItem(String, Image, EventHandler, String) |
使用指定的顯示文字、影像、事件處理常式和名稱,初始化 ToolStripItem 類別的新執行個體。Initializes a new instance of the ToolStripItem class with the specified display text, image, event handler, and name. |
屬性
AccessibilityObject |
取得指定給控制項的 AccessibleObject。Gets the AccessibleObject assigned to the control. |
AccessibleDefaultActionDescription |
取得或設定協助用戶端應用程式所使用的控制項的預設動作描述。Gets or sets the default action description of the control for use by accessibility client applications. |
AccessibleDescription |
取得或設定將報告給協助工具用戶端應用程式的描述。Gets or sets the description that will be reported to accessibility client applications. |
AccessibleName |
取得或設定協助工具用戶端應用程式使用的控制項名稱。Gets or sets the name of the control for use by accessibility client applications. |
AccessibleRole |
取得或設定控制項的可存取角色,此角色可指定控制項的使用者介面項目之類型。Gets or sets the accessible role of the control, which specifies the type of user interface element of the control. |
Alignment |
取得或設定值,指出項目是否會向 ToolStrip 的開頭或結尾對齊。Gets or sets a value indicating whether the item aligns towards the beginning or end of the ToolStrip. |
AllowDrop |
取得或設定值,指出拖放和項目的重新排列是否透過您實作的事件來加以處理。Gets or sets a value indicating whether drag-and-drop and item reordering are handled through events that you implement. |
Anchor |
取得或設定 ToolStripItem 繫結容器的目的邊緣,並決定 ToolStripItem 隨其父代調整大小的方式。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 |
取得或設定值,指出項目是否會自動調整大小。Gets or sets a value indicating whether the item is automatically sized. |
AutoToolTip |
取得或設定值,這個值指出是否要針對 ToolTipText 工具提示使用 Text 屬性或 ToolStripItem 屬性。Gets or sets a value indicating whether to use the Text property or the ToolTipText property for the ToolStripItem ToolTip. |
Available |
取得或設定值,指出 ToolStripItem 是否應該置於 ToolStrip 上。Gets or sets a value indicating whether the ToolStripItem should be placed on a ToolStrip. |
BackColor |
取得或設定項目的背景色彩。Gets or sets the background color for the item. |
BackgroundImage |
取得或設定在項目中顯示的背景影像。Gets or sets the background image displayed in the item. |
BackgroundImageLayout |
取得或設定用於 ToolStripItem 的背景影像配置。Gets or sets the background image layout used for the ToolStripItem. |
Bounds |
取得項目的大小和位置。Gets the size and location of the item. |
CanRaiseEvents |
取得值,指出元件是否能引發事件。Gets a value indicating whether the component can raise an event. (繼承來源 Component) |
CanSelect |
取得值,指出是否可以選取此項目。Gets a value indicating whether the item can be selected. |
Container |
取得包含 IContainer 的 Component。Gets the IContainer that contains the Component. (繼承來源 Component) |
ContentRectangle |
取得類似文字和圖示的內容可以放置到 ToolStripItem 內,而不需要覆寫背景框線的區域。Gets the area where content, such as text and icons, can be placed within a ToolStripItem without overwriting background borders. |
DefaultAutoToolTip |
取得值,指出是否要顯示定義為預設值的 ToolTip。Gets a value indicating whether to display the ToolTip that is defined as the default. |
DefaultDisplayStyle |
取得值,表示顯示在 ToolStripItem 上的項目為何。Gets a value indicating what is displayed on the ToolStripItem. |
DefaultMargin |
取得項目的預設邊界。Gets the default margin of an item. |
DefaultPadding |
取得項目的內部間距特性。Gets the internal spacing characteristics of the item. |
DefaultSize |
取得此項目的預設大小。Gets the default size of the item. |
DesignMode |
取得值,指出 Component 目前是否處於設計模式。Gets a value that indicates whether the Component is currently in design mode. (繼承來源 Component) |
DismissWhenClicked |
取得值,指出按一下 ToolStripDropDown 上的項目之後,這些項目是否會隱藏。Gets a value indicating whether items on a ToolStripDropDown are hidden after they are clicked. |
DisplayStyle |
取得或設定文字和影像是否會顯示在 ToolStripItem 上的值。Gets or sets whether text and images are displayed on a ToolStripItem. |
Dock |
取得或設定停駐在其父控制項的 ToolStripItem 框線,並決定 ToolStripItem 隨其父代重新調整大小的方式。Gets or sets which ToolStripItem borders are docked to its parent control and determines how a ToolStripItem is resized with its parent. |
DoubleClickEnabled |
取得或設定值,指出是否可以按兩下滑鼠來啟動 ToolStripItem。Gets or sets a value indicating whether the ToolStripItem can be activated by double-clicking the mouse. |
Enabled |
取得或設定值,指出是否已啟用 ToolStripItem 的父控制項。Gets or sets a value indicating whether the parent control of the ToolStripItem is enabled. |
Events |
取得附加在這個 Component 上的事件處理常式清單。Gets the list of event handlers that are attached to this Component. (繼承來源 Component) |
Font |
取得或設定項目顯示之文字字型。Gets or sets the font of the text displayed by the item. |
ForeColor |
取得或設定此項目的前景色彩。Gets or sets the foreground color of the item. |
Height |
取得或設定 ToolStripItem 的高度 (以像素為單位)。Gets or sets the height, in pixels, of a ToolStripItem. |
Image |
取得或設定顯示在 ToolStripItem 上的影像。Gets or sets the image that is displayed on a ToolStripItem. |
ImageAlign |
取得或設定 ToolStripItem 上影像的對齊方式。Gets or sets the alignment of the image on a ToolStripItem. |
ImageIndex |
取得或設定此項目上顯示的影像索引值。Gets or sets the index value of the image that is displayed on the item. |
ImageKey |
取得或設定在 ImageList 中顯示在 ToolStripItem 上的影像之按鍵存取子 (Accessor)。Gets or sets the key accessor for the image in the ImageList that is displayed on a ToolStripItem. |
ImageScaling |
取得或設定值,表示 ToolStripItem 上的影像是否會自動調整大小,以納入容器中。Gets or sets a value indicating whether an image on a ToolStripItem is automatically resized to fit in a container. |
ImageTransparentColor |
取得或設定 ToolStripItem 影像中視為透明的色彩。Gets or sets the color to treat as transparent in a ToolStripItem image. |
IsDisposed |
取得值,指出物件是否已經處置。Gets a value indicating whether the object has been disposed of. |
IsOnDropDown |
取得值,指出目前 Control 的容器是否為 ToolStripDropDown。Gets a value indicating whether the container of the current Control is a ToolStripDropDown. |
IsOnOverflow |
取得值,指出 Placement 屬性是否設定為 Overflow。Gets a value indicating whether the Placement property is set to Overflow. |
Margin |
取得或設定此項目和相鄰項目之間的間距。Gets or sets the space between the item and adjacent items. |
MergeAction |
取得或設定子功能表要如何與父功能表合併的值。Gets or sets how child menus are merged with parent menus. |
MergeIndex |
取得或設定目前 ToolStrip 中已合併項目的位置。Gets or sets the position of a merged item within the current ToolStrip. |
Name |
取得或設定項目的名稱。Gets or sets the name of the item. |
Overflow |
取得或設定此項目是否附加至 ToolStrip 或 ToolStripOverflowButton,或是可以在這兩者之間浮動的值。Gets or sets whether the item is attached to the ToolStrip or ToolStripOverflowButton or can float between the two. |
Owner |
取得或設定此項目的擁有人。Gets or sets the owner of this item. |
OwnerItem |
取得這個 ToolStripItem 的 ToolStripItem。Gets the parent ToolStripItem of this ToolStripItem. |
Padding |
取得或設定介於此項目的內容與其邊緣之間的內部間距 (單位為像素)。Gets or sets the internal spacing, in pixels, between the item's contents and its edges. |
Parent |
取得或設定 ToolStripItem 的父容器。Gets or sets the parent container of the ToolStripItem. |
Placement |
取得此項目的目前配置。Gets the current layout of the item. |
Pressed |
取得值,指出是否已按下此項目的狀態。Gets a value indicating whether the state of the item is pressed. |
RightToLeft |
取得或設定值,指出項目是否要從右到左放置,而文字是否要從右到左寫入。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 |
當 ToolStripItem 屬性設定為 RightToLeft 時,自動左右反轉 Yes。Mirrors automatically the ToolStripItem image when the RightToLeft property is set to Yes. |
Selected |
取得值,指出是否已選取此項目。Gets a value indicating whether the item is selected. |
ShowKeyboardCues |
取得值,指出要顯示還是隱藏快速鍵。Gets a value indicating whether to show or hide shortcut keys. |
Site |
取得或設定 Component 的 ISite。Gets or sets the ISite of the Component. (繼承來源 Component) |
Size |
取得或設定項目的大小。Gets or sets the size of the item. |
Tag |
取得或設定物件,其包含此項目的相關資料。Gets or sets the object that contains data about the item. |
Text |
取得或設定要顯示在此項目上的文字。Gets or sets the text that is to be displayed on the item. |
TextAlign |
取得或設定 ToolStripLabel 上文字的對齊方式。Gets or sets the alignment of the text on a ToolStripLabel. |
TextDirection |
取得用於 ToolStripItem 上的文字之方向。Gets the orientation of text used on a ToolStripItem. |
TextImageRelation |
取得或設定 ToolStripItem 的文字和影像彼此之間的相對位置。Gets or sets the position of ToolStripItem text and image relative to each other. |
ToolTipText |
取得或設定顯示為控制項的 ToolTip 之文字。Gets or sets the text that appears as a ToolTip for a control. |
Visible |
取得或設定值,指出是否會顯示此項目。Gets or sets a value indicating whether the item is displayed. |
Width |
取得或設定 ToolStripItem 的寬度 (以像素為單位)。Gets or sets the width in pixels of a ToolStripItem. |
方法
CreateAccessibilityInstance() |
為 ToolStripItem 建立新的協助工具物件。Creates a new accessibility object for the ToolStripItem. |
CreateObjRef(Type) |
建立包含所有相關資訊的物件,這些資訊是產生用來與遠端物件通訊的所需 Proxy。Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object. (繼承來源 MarshalByRefObject) |
Dispose() |
釋放 Component 所使用的所有資源。Releases all resources used by the Component. (繼承來源 Component) |
Dispose(Boolean) |
釋放 ToolStripItem 所使用的 Unmanaged 資源,並選擇性地釋放 Managed 資源。Releases the unmanaged resources used by the ToolStripItem and optionally releases the managed resources. |
DoDragDrop(Object, DragDropEffects) |
開始拖放作業。Begins a drag-and-drop operation. |
Equals(Object) |
判斷指定的物件是否等於目前的物件。Determines whether the specified object is equal to the current object. (繼承來源 Object) |
GetCurrentParent() |
擷取 ToolStrip,其為目前 ToolStripItem 的容器。Retrieves the ToolStrip that is the container of the current ToolStripItem. |
GetHashCode() |
作為預設雜湊函數。Serves as the default hash function. (繼承來源 Object) |
GetLifetimeService() |
擷取控制這個執行個體存留期 (Lifetime) 原則的目前存留期服務物件。Retrieves the current lifetime service object that controls the lifetime policy for this instance. (繼承來源 MarshalByRefObject) |
GetPreferredSize(Size) |
擷取能夠容納控制項的矩形區域的大小。Retrieves the size of a rectangular area into which a control can be fit. |
GetService(Type) |
傳回表示 Component 或其 Container 所提供之服務的物件。Returns an object that represents a service provided by the Component or by its Container. (繼承來源 Component) |
GetType() |
取得目前執行個體的 Type。Gets the Type of the current instance. (繼承來源 Object) |
InitializeLifetimeService() |
取得存留期服務物件,以控制這個執行個體的存留期原則。Obtains a lifetime service object to control the lifetime policy for this instance. (繼承來源 MarshalByRefObject) |
Invalidate() |
讓 ToolStripItem 的整個介面失效,並重新繪製它。Invalidates the entire surface of the ToolStripItem and causes it to be redrawn. |
Invalidate(Rectangle) |
藉由將 ToolStripItem 的指定區域加入 ToolStripItem 的更新區域的方式使指定區域失效 (更新區域會在下一次繪製作業中重新繪製),並使繪製訊息傳送至 ToolStripItem。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) |
判斷字元是否為此項目所能識別的輸入字元。Determines whether a character is an input character that the item recognizes. |
IsInputKey(Keys) |
判斷指定的按鍵是標準輸入按鍵或需要前置處理的特殊按鍵。Determines whether the specified key is a regular input key or a special key that requires preprocessing. |
MemberwiseClone() |
建立目前 Object 的淺層複製。Creates a shallow copy of the current Object. (繼承來源 Object) |
MemberwiseClone(Boolean) |
建立目前 MarshalByRefObject 物件的淺層複本。Creates a shallow copy of the current MarshalByRefObject object. (繼承來源 MarshalByRefObject) |
OnAvailableChanged(EventArgs) |
引發 AvailableChanged 事件。Raises the AvailableChanged event. |
OnBackColorChanged(EventArgs) |
引發 BackColorChanged 事件。Raises the BackColorChanged event. |
OnBoundsChanged() | |
OnClick(EventArgs) | |
OnDisplayStyleChanged(EventArgs) |
引發 DisplayStyleChanged 事件。Raises the DisplayStyleChanged event. |
OnDoubleClick(EventArgs) |
引發 DoubleClick 事件。Raises the DoubleClick event. |
OnDragDrop(DragEventArgs) | |
OnDragEnter(DragEventArgs) | |
OnDragLeave(EventArgs) | |
OnDragOver(DragEventArgs) | |
OnEnabledChanged(EventArgs) |
引發 EnabledChanged 事件。Raises the EnabledChanged event. |
OnFontChanged(EventArgs) |
引發 FontChanged 事件。Raises the FontChanged event. |
OnForeColorChanged(EventArgs) |
引發 ForeColorChanged 事件。Raises the ForeColorChanged event. |
OnGiveFeedback(GiveFeedbackEventArgs) |
引發 GiveFeedback 事件。Raises the GiveFeedback event. |
OnLayout(LayoutEventArgs) | |
OnLocationChanged(EventArgs) |
引發 LocationChanged 事件。Raises the LocationChanged event. |
OnMouseDown(MouseEventArgs) | |
OnMouseEnter(EventArgs) |
引發 MouseEnter 事件。Raises the MouseEnter event. |
OnMouseHover(EventArgs) |
引發 MouseHover 事件。Raises the MouseHover event. |
OnMouseLeave(EventArgs) |
引發 MouseLeave 事件。Raises the MouseLeave event. |
OnMouseMove(MouseEventArgs) | |
OnMouseUp(MouseEventArgs) | |
OnOwnerChanged(EventArgs) |
引發 OwnerChanged 事件。Raises the OwnerChanged event. |
OnOwnerFontChanged(EventArgs) |
當 FontChanged 屬性已經在 Font 的父代上變更時,將會引發 ToolStripItem 事件。Raises the FontChanged event when the Font property has changed on the parent of the ToolStripItem. |
OnPaint(PaintEventArgs) | |
OnParentBackColorChanged(EventArgs) |
引發 BackColorChanged 事件。Raises the BackColorChanged event. |
OnParentChanged(ToolStrip, ToolStrip) |
引發 ParentChanged 事件。Raises the ParentChanged event. |
OnParentEnabledChanged(EventArgs) |
當此項目的容器之 EnabledChanged 屬性值變更時,會引發 Enabled 事件。Raises the EnabledChanged event when the Enabled property value of the item's container changes. |
OnParentForeColorChanged(EventArgs) |
引發 ForeColorChanged 事件。Raises the ForeColorChanged event. |
OnParentRightToLeftChanged(EventArgs) |
引發 RightToLeftChanged 事件。Raises the RightToLeftChanged event. |
OnQueryContinueDrag(QueryContinueDragEventArgs) |
引發 QueryContinueDrag 事件。Raises the QueryContinueDrag event. |
OnRightToLeftChanged(EventArgs) |
引發 RightToLeftChanged 事件。Raises the RightToLeftChanged event. |
OnTextChanged(EventArgs) |
引發 TextChanged 事件。Raises the TextChanged event. |
OnVisibleChanged(EventArgs) |
引發 VisibleChanged 事件。Raises the VisibleChanged event. |
PerformClick() |
產生 |
ProcessCmdKey(Message, Keys) |
處理命令按鍵。Processes a command key. |
ProcessDialogKey(Keys) |
處理對話方塊按鍵。Processes a dialog key. |
ProcessMnemonic(Char) |
處理助憶鍵字元。Processes a mnemonic character. |
ResetBackColor() |
這個方法與這個類別無關。This method is not relevant to this class. |
ResetDisplayStyle() |
這個方法與這個類別無關。This method is not relevant to this class. |
ResetFont() |
這個方法與這個類別無關。This method is not relevant to this class. |
ResetForeColor() |
這個方法與這個類別無關。This method is not relevant to this class. |
ResetImage() |
這個方法與這個類別無關。This method is not relevant to this class. |
ResetMargin() |
這個方法與這個類別無關。This method is not relevant to this class. |
ResetPadding() |
這個方法與這個類別無關。This method is not relevant to this class. |
ResetRightToLeft() |
這個方法與這個類別無關。This method is not relevant to this class. |
ResetTextDirection() |
這個方法與這個類別無關。This method is not relevant to this class. |
Select() |
選取此項目。Selects the item. |
SetBounds(Rectangle) |
設定項目的大小和位置。Sets the size and location of the item. |
SetVisibleCore(Boolean) |
將 ToolStripItem 設定為指定的可見狀態。Sets the ToolStripItem to the specified visible state. |
ToString() |
傳回任何包含 Component 名稱的 String。Returns a String containing the name of the Component, if any. 不應覆寫此方法。This method should not be overridden. |
事件
AvailableChanged |
發生於 Available 屬性的值變更時。Occurs when the value of the Available property changes. |
BackColorChanged |
發生於 BackColor 屬性的值變更時。Occurs when the value of the BackColor property changes. |
Click |
發生於按一下 ToolStripItem 時。Occurs when the ToolStripItem is clicked. |
DisplayStyleChanged |
發生於 DisplayStyle 變更時。Occurs when the DisplayStyle has changed. |
Disposed |
當此元件由 Dispose() 方法的呼叫處置時發生。Occurs when the component is disposed by a call to the Dispose() method. (繼承來源 Component) |
DoubleClick |
發生於以滑鼠按兩下項目時。Occurs when the item is double-clicked with the mouse. |
DragDrop |
發生於使用者拖曳項目以及釋放滑鼠按鈕時,表示項目應該放入這個項目中。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 |
發生於使用者將項目拖入這個項目的工作區 (Client Area) 時。Occurs when the user drags an item into the client area of this item. |
DragLeave |
發生於使用者拖曳項目並且滑鼠指標不再停留於這個項目的工作區上時。Occurs when the user drags an item and the mouse pointer is no longer over the client area of this item. |
DragOver |
發生於使用者將項目拖過這個項目的工作區時。Occurs when the user drags an item over the client area of this item. |
EnabledChanged |
發生於 Enabled 屬性值變更時。Occurs when the Enabled property value has changed. |
ForeColorChanged |
發生在 ForeColor 屬性值變更時。Occurs when the ForeColor property value changes. |
GiveFeedback |
發生於拖曳作業時。Occurs during a drag operation. |
LocationChanged |
發生於 ToolStripItem 的位置更新時。Occurs when the location of a ToolStripItem is updated. |
MouseDown |
發生於滑鼠指標位於此項目上方,並按下滑鼠按鍵時。Occurs when the mouse pointer is over the item and a mouse button is pressed. |
MouseEnter |
發生於滑鼠指標進入此項目時。Occurs when the mouse pointer enters the item. |
MouseHover |
發生於滑鼠指標停留在此項目上方時。Occurs when the mouse pointer hovers over the item. |
MouseLeave |
發生於滑鼠指標離開此項目時。Occurs when the mouse pointer leaves the item. |
MouseMove |
發生於滑鼠指標移至此項目上方時。Occurs when the mouse pointer is moved over the item. |
MouseUp |
發生於滑鼠指標位於此項目上方,並放開滑鼠按鍵時。Occurs when the mouse pointer is over the item and a mouse button is released. |
OwnerChanged | |
Paint |
發生於重新繪製此項目時。Occurs when the item is redrawn. |
QueryAccessibilityHelp |
發生在可及性用戶端應用程式叫用 ToolStripItem 的說明時。Occurs when an accessibility client application invokes help for the ToolStripItem. |
QueryContinueDrag |
發生於拖放作業時,允許拖曳來源決定是否應取消拖放作業。Occurs during a drag-and-drop operation and allows the drag source to determine whether the drag-and-drop operation should be canceled. |
RightToLeftChanged |
發生在 RightToLeft 屬性值變更時。Occurs when the RightToLeft property value changes. |
TextChanged |
發生於 Text 屬性的值變更時。Occurs when the value of the Text property changes. |
VisibleChanged |
發生於 Visible 屬性的值變更時。Occurs when the value of the Visible property changes. |
明確介面實作
IDropTarget.OnDragDrop(DragEventArgs) | |
IDropTarget.OnDragEnter(DragEventArgs) | |
IDropTarget.OnDragLeave(EventArgs) | |
IDropTarget.OnDragOver(DragEventArgs) |
引發 |