ToolStripDropDownItem 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
提供当单击 ToolStripDropDown、ToolStripDropDownButton 或 ToolStripMenuItem 控件时,显示 ToolStripSplitButton 的控件的基本功能。
public ref class ToolStripDropDownItem abstract : System::Windows::Forms::ToolStripItem
public abstract class ToolStripDropDownItem : System.Windows.Forms.ToolStripItem
type ToolStripDropDownItem = class
inherit ToolStripItem
Public MustInherit Class ToolStripDropDownItem
Inherits ToolStripItem
- 继承
- 继承
- 派生
示例
下面的代码示例演示如何显示和隐藏 ToolStripMenuItem 控件。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Windows.Forms;
namespace ToolStripDropDownItemCS
{
public class Form1 : Form
{
private ToolStrip toolStrip1;
private StatusStrip statusStrip1;
private ToolStripStatusLabel toolStripStatusLabel1;
private ContextMenuStrip contextMenuStrip1;
private ToolStripMenuItem menuItem1ToolStripMenuItem;
private ToolStripMenuItem menuItem2ToolStripMenuItem;
private ToolStripMenuItem subItemToolStripMenuItem;
private ToolStripMenuItem subItem2ToolStripMenuItem;
private Button showButton;
private Button hideButton;
private System.ComponentModel.IContainer components = null;
public Form1()
{
InitializeComponent();
this.InitializeToolStripDropDownItems();
}
// This utility method creates and initializes three
// ToolStripDropDownItem controls and adds them
// to the form's ToolStrip control.
private void InitializeToolStripDropDownItems()
{
ToolStripDropDownButton b = new ToolStripDropDownButton("DropDownButton");
b.DropDown = this.contextMenuStrip1;
b.DropDownClosed += new EventHandler(toolStripDropDownItem_DropDownClosed);
b.DropDownItemClicked += new ToolStripItemClickedEventHandler(toolStripDropDownItem_DropDownItemClicked);
b.DropDownOpened += new EventHandler(toolStripDropDownItem_DropDownOpened);
ToolStripMenuItem m = new ToolStripMenuItem("MenuItem");
m.DropDown = this.contextMenuStrip1;
m.DropDownClosed += new EventHandler(toolStripDropDownItem_DropDownClosed);
m.DropDownItemClicked += new ToolStripItemClickedEventHandler(toolStripDropDownItem_DropDownItemClicked);
m.DropDownOpened += new EventHandler(toolStripDropDownItem_DropDownOpened);
ToolStripSplitButton sb = new ToolStripSplitButton("SplitButton");
sb.DropDown = this.contextMenuStrip1;
sb.DropDownClosed += new EventHandler(toolStripDropDownItem_DropDownClosed);
sb.DropDownItemClicked += new ToolStripItemClickedEventHandler(toolStripDropDownItem_DropDownItemClicked);
sb.DropDownOpened += new EventHandler(toolStripDropDownItem_DropDownOpened);
this.toolStrip1.Items.AddRange(new ToolStripItem[] { b, m, sb });
}
// This method handles the DropDownOpened event from a
// ToolStripDropDownItem. It displays the value of the
// item's Text property in the form's StatusStrip control.
void toolStripDropDownItem_DropDownOpened(object sender, EventArgs e)
{
ToolStripDropDownItem item = sender as ToolStripDropDownItem;
string msg = String.Format("Item opened: {0}", item.Text);
this.toolStripStatusLabel1.Text = msg;
}
// This method handles the DropDownItemClicked event from a
// ToolStripDropDownItem. It displays the value of the clicked
// item's Text property in the form's StatusStrip control.
void toolStripDropDownItem_DropDownItemClicked(object sender, ToolStripItemClickedEventArgs e)
{
string msg = String.Format("Item clicked: {0}", e.ClickedItem.Text);
this.toolStripStatusLabel1.Text = msg;
}
// This method handles the DropDownClosed event from a
// ToolStripDropDownItem. It displays the value of the
// item's Text property in the form's StatusStrip control.
void toolStripDropDownItem_DropDownClosed(object sender, EventArgs e)
{
ToolStripDropDownItem item = sender as ToolStripDropDownItem;
string msg = String.Format("Item closed: {0}", item.Text);
this.toolStripStatusLabel1.Text = msg;
}
// This method shows the drop-down for the first item
// in the form's ToolStrip.
private void showButton_Click(object sender, EventArgs e)
{
ToolStripDropDownItem item = this.toolStrip1.Items[0] as ToolStripDropDownItem;
if (item.HasDropDownItems)
{
item.ShowDropDown();
}
}
// This method hides the drop-down for the first item
// in the form's ToolStrip.
private void hideButton_Click(object sender, EventArgs e)
{
ToolStripDropDownItem item = this.toolStrip1.Items[0] as ToolStripDropDownItem;
item.HideDropDown();
}
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.components = new System.ComponentModel.Container();
this.toolStrip1 = new System.Windows.Forms.ToolStrip();
this.statusStrip1 = new System.Windows.Forms.StatusStrip();
this.toolStripStatusLabel1 = new System.Windows.Forms.ToolStripStatusLabel();
this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components);
this.menuItem1ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.menuItem2ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.subItemToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.subItem2ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.showButton = new System.Windows.Forms.Button();
this.hideButton = new System.Windows.Forms.Button();
this.statusStrip1.SuspendLayout();
this.contextMenuStrip1.SuspendLayout();
this.SuspendLayout();
//
// toolStrip1
//
this.toolStrip1.Location = new System.Drawing.Point(0, 0);
this.toolStrip1.Name = "toolStrip1";
this.toolStrip1.Size = new System.Drawing.Size(292, 25);
this.toolStrip1.TabIndex = 0;
this.toolStrip1.Text = "toolStrip1";
//
// statusStrip1
//
this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.toolStripStatusLabel1});
this.statusStrip1.Location = new System.Drawing.Point(0, 251);
this.statusStrip1.Name = "statusStrip1";
this.statusStrip1.Size = new System.Drawing.Size(292, 22);
this.statusStrip1.TabIndex = 1;
this.statusStrip1.Text = "statusStrip1";
//
// toolStripStatusLabel1
//
this.toolStripStatusLabel1.Name = "toolStripStatusLabel1";
this.toolStripStatusLabel1.Size = new System.Drawing.Size(38, 17);
this.toolStripStatusLabel1.Text = "Ready";
//
// contextMenuStrip1
//
this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.menuItem1ToolStripMenuItem,
this.menuItem2ToolStripMenuItem});
this.contextMenuStrip1.Name = "contextMenuStrip1";
this.contextMenuStrip1.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.contextMenuStrip1.Size = new System.Drawing.Size(146, 48);
//
// menuItem1ToolStripMenuItem
//
this.menuItem1ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.subItemToolStripMenuItem});
this.menuItem1ToolStripMenuItem.Name = "menuItem1ToolStripMenuItem";
this.menuItem1ToolStripMenuItem.Size = new System.Drawing.Size(145, 22);
this.menuItem1ToolStripMenuItem.Text = "Menu Item1";
//
// menuItem2ToolStripMenuItem
//
this.menuItem2ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.subItem2ToolStripMenuItem});
this.menuItem2ToolStripMenuItem.Name = "menuItem2ToolStripMenuItem";
this.menuItem2ToolStripMenuItem.Size = new System.Drawing.Size(145, 22);
this.menuItem2ToolStripMenuItem.Text = "Menu Item 2";
//
// subItemToolStripMenuItem
//
this.subItemToolStripMenuItem.Name = "subItemToolStripMenuItem";
this.subItemToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
this.subItemToolStripMenuItem.Text = "Sub Item";
//
// subItem2ToolStripMenuItem
//
this.subItem2ToolStripMenuItem.Name = "subItem2ToolStripMenuItem";
this.subItem2ToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
this.subItem2ToolStripMenuItem.Text = "Sub Item2";
//
// showButton
//
this.showButton.Location = new System.Drawing.Point(12, 180);
this.showButton.Name = "showButton";
this.showButton.Size = new System.Drawing.Size(75, 23);
this.showButton.TabIndex = 2;
this.showButton.Text = "Show";
this.showButton.UseVisualStyleBackColor = true;
this.showButton.Click += new System.EventHandler(this.showButton_Click);
//
// hideButton
//
this.hideButton.Location = new System.Drawing.Point(12, 209);
this.hideButton.Name = "hideButton";
this.hideButton.Size = new System.Drawing.Size(75, 23);
this.hideButton.TabIndex = 3;
this.hideButton.Text = "Hide";
this.hideButton.UseVisualStyleBackColor = true;
this.hideButton.Click += new System.EventHandler(this.hideButton_Click);
//
// Form1
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(292, 273);
this.Controls.Add(this.statusStrip1);
this.Controls.Add(this.hideButton);
this.Controls.Add(this.toolStrip1);
this.Controls.Add(this.showButton);
this.Name = "Form1";
this.Text = "Form1";
this.statusStrip1.ResumeLayout(false);
this.statusStrip1.PerformLayout();
this.contextMenuStrip1.ResumeLayout(false);
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
}
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}
Imports System.Collections.Generic
Imports System.ComponentModel
Imports System.Drawing
Imports System.Windows.Forms
Public Class Form1
Inherits Form
Private toolStrip1 As ToolStrip
Private statusStrip1 As StatusStrip
Private toolStripStatusLabel1 As ToolStripStatusLabel
Private contextMenuStrip1 As ContextMenuStrip
Private menuItem1ToolStripMenuItem As ToolStripMenuItem
Private menuItem2ToolStripMenuItem As ToolStripMenuItem
Private subItemToolStripMenuItem As ToolStripMenuItem
Private subItem2ToolStripMenuItem As ToolStripMenuItem
Private WithEvents showButton As Button
Private WithEvents hideButton As Button
Private components As System.ComponentModel.IContainer = Nothing
Public Sub New()
InitializeComponent()
Me.InitializeToolStripDropDownItems()
End Sub
' This utility method creates and initializes three
' ToolStripDropDownItem controls and adds them
' to the form's ToolStrip control.
Private Sub InitializeToolStripDropDownItems()
Dim b As New ToolStripDropDownButton("DropDownButton")
b.DropDown = Me.contextMenuStrip1
AddHandler b.DropDownClosed, AddressOf toolStripDropDownItem_DropDownClosed
AddHandler b.DropDownItemClicked, AddressOf toolStripDropDownItem_DropDownItemClicked
AddHandler b.DropDownOpened, AddressOf toolStripDropDownItem_DropDownOpened
Dim m As New ToolStripMenuItem("MenuItem")
m.DropDown = Me.contextMenuStrip1
AddHandler m.DropDownClosed, AddressOf toolStripDropDownItem_DropDownClosed
AddHandler m.DropDownItemClicked, AddressOf toolStripDropDownItem_DropDownItemClicked
AddHandler m.DropDownOpened, AddressOf toolStripDropDownItem_DropDownOpened
Dim sb As New ToolStripSplitButton("SplitButton")
sb.DropDown = Me.contextMenuStrip1
AddHandler sb.DropDownClosed, AddressOf toolStripDropDownItem_DropDownClosed
AddHandler sb.DropDownItemClicked, AddressOf toolStripDropDownItem_DropDownItemClicked
AddHandler sb.DropDownOpened, AddressOf toolStripDropDownItem_DropDownOpened
Me.toolStrip1.Items.AddRange(New ToolStripItem() {b, m, sb})
End Sub
' This method handles the DropDownOpened event from a
' ToolStripDropDownItem. It displays the value of the
' item's Text property in the form's StatusStrip control.
Private Sub toolStripDropDownItem_DropDownOpened(ByVal sender As Object, ByVal e As EventArgs)
Dim item As ToolStripDropDownItem = CType(sender, ToolStripDropDownItem)
Dim msg As String = String.Format("Item opened: {0}", item.Text)
Me.toolStripStatusLabel1.Text = msg
End Sub
' This method handles the DropDownItemClicked event from a
' ToolStripDropDownItem. It displays the value of the clicked
' item's Text property in the form's StatusStrip control.
Private Sub toolStripDropDownItem_DropDownItemClicked( _
ByVal sender As Object, _
ByVal e As ToolStripItemClickedEventArgs)
Dim msg As String = String.Format("Item clicked: {0}", e.ClickedItem.Text)
Me.toolStripStatusLabel1.Text = msg
End Sub
' This method handles the DropDownClosed event from a
' ToolStripDropDownItem. It displays the value of the
' item's Text property in the form's StatusStrip control.
Private Sub toolStripDropDownItem_DropDownClosed(ByVal sender As Object, ByVal e As EventArgs)
Dim item As ToolStripDropDownItem = CType(sender, ToolStripDropDownItem)
Dim msg As String = String.Format("Item closed: {0}", item.Text)
Me.toolStripStatusLabel1.Text = msg
End Sub
' This method shows the drop-down for the first item
' in the form's ToolStrip.
Private Sub showButton_Click( _
ByVal sender As Object, _
ByVal e As EventArgs) _
Handles showButton.Click
Dim item As ToolStripDropDownItem = CType(Me.toolStrip1.Items(0), ToolStripDropDownItem)
If item.HasDropDownItems Then
item.ShowDropDown()
End If
End Sub
' This method hides the drop-down for the first item
' in the form's ToolStrip.
Private Sub hideButton_Click( _
ByVal sender As Object, _
ByVal e As EventArgs) _
Handles hideButton.Click
Dim item As ToolStripDropDownItem = CType(Me.toolStrip1.Items(0), ToolStripDropDownItem)
item.HideDropDown()
End Sub
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.components = New System.ComponentModel.Container()
Me.toolStrip1 = New System.Windows.Forms.ToolStrip()
Me.statusStrip1 = New System.Windows.Forms.StatusStrip()
Me.toolStripStatusLabel1 = New System.Windows.Forms.ToolStripStatusLabel()
Me.contextMenuStrip1 = New System.Windows.Forms.ContextMenuStrip(Me.components)
Me.menuItem1ToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.menuItem2ToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.subItemToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.subItem2ToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.showButton = New System.Windows.Forms.Button()
Me.hideButton = New System.Windows.Forms.Button()
Me.statusStrip1.SuspendLayout()
Me.contextMenuStrip1.SuspendLayout()
Me.SuspendLayout()
'
' toolStrip1
'
Me.toolStrip1.Location = New System.Drawing.Point(0, 0)
Me.toolStrip1.Name = "toolStrip1"
Me.toolStrip1.Size = New System.Drawing.Size(292, 25)
Me.toolStrip1.TabIndex = 0
Me.toolStrip1.Text = "toolStrip1"
'
' statusStrip1
'
Me.statusStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.toolStripStatusLabel1})
Me.statusStrip1.Location = New System.Drawing.Point(0, 251)
Me.statusStrip1.Name = "statusStrip1"
Me.statusStrip1.Size = New System.Drawing.Size(292, 22)
Me.statusStrip1.TabIndex = 1
Me.statusStrip1.Text = "statusStrip1"
'
' toolStripStatusLabel1
'
Me.toolStripStatusLabel1.Name = "toolStripStatusLabel1"
Me.toolStripStatusLabel1.Size = New System.Drawing.Size(38, 17)
Me.toolStripStatusLabel1.Text = "Ready"
'
' contextMenuStrip1
'
Me.contextMenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.menuItem1ToolStripMenuItem, Me.menuItem2ToolStripMenuItem})
Me.contextMenuStrip1.Name = "contextMenuStrip1"
Me.contextMenuStrip1.RightToLeft = System.Windows.Forms.RightToLeft.No
Me.contextMenuStrip1.Size = New System.Drawing.Size(146, 48)
'
' menuItem1ToolStripMenuItem
'
Me.menuItem1ToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.subItemToolStripMenuItem})
Me.menuItem1ToolStripMenuItem.Name = "menuItem1ToolStripMenuItem"
Me.menuItem1ToolStripMenuItem.Size = New System.Drawing.Size(145, 22)
Me.menuItem1ToolStripMenuItem.Text = "Menu Item1"
'
' menuItem2ToolStripMenuItem
'
Me.menuItem2ToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.subItem2ToolStripMenuItem})
Me.menuItem2ToolStripMenuItem.Name = "menuItem2ToolStripMenuItem"
Me.menuItem2ToolStripMenuItem.Size = New System.Drawing.Size(145, 22)
Me.menuItem2ToolStripMenuItem.Text = "Menu Item 2"
'
' subItemToolStripMenuItem
'
Me.subItemToolStripMenuItem.Name = "subItemToolStripMenuItem"
Me.subItemToolStripMenuItem.Size = New System.Drawing.Size(152, 22)
Me.subItemToolStripMenuItem.Text = "Sub Item"
'
' subItem2ToolStripMenuItem
'
Me.subItem2ToolStripMenuItem.Name = "subItem2ToolStripMenuItem"
Me.subItem2ToolStripMenuItem.Size = New System.Drawing.Size(152, 22)
Me.subItem2ToolStripMenuItem.Text = "Sub Item2"
'
' showButton
'
Me.showButton.Location = New System.Drawing.Point(12, 180)
Me.showButton.Name = "showButton"
Me.showButton.Size = New System.Drawing.Size(75, 23)
Me.showButton.TabIndex = 2
Me.showButton.Text = "Show"
Me.showButton.UseVisualStyleBackColor = True
'
' hideButton
'
Me.hideButton.Location = New System.Drawing.Point(12, 209)
Me.hideButton.Name = "hideButton"
Me.hideButton.Size = New System.Drawing.Size(75, 23)
Me.hideButton.TabIndex = 3
Me.hideButton.Text = "Hide"
Me.hideButton.UseVisualStyleBackColor = True
'
' Form1
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6F, 13F)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(292, 273)
Me.Controls.Add(statusStrip1)
Me.Controls.Add(hideButton)
Me.Controls.Add(toolStrip1)
Me.Controls.Add(showButton)
Me.Name = "Form1"
Me.Text = "Form1"
Me.statusStrip1.ResumeLayout(False)
Me.statusStrip1.PerformLayout()
Me.contextMenuStrip1.ResumeLayout(False)
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
#End Region
End Class
Public Class Program
' The main entry point for the application.
<STAThread()> _
Shared Sub Main()
Application.EnableVisualStyles()
Application.SetCompatibleTextRenderingDefault(False)
Application.Run(New Form1())
End Sub
End Class
注解
ToolStripDropDownItem 是 ToolStripMenuItem、ToolStripDropDownButton 和 ToolStripSplitButton 的抽象基类,可以直接承载项,也可以在下拉容器中承载其他项。 为此,可将 DropDown 属性设置为 ToolStripDropDown,并设置 ToolStripDropDown 的 Items 属性。 可通过 DropDownItems 属性直接访问这些下拉项。
构造函数
ToolStripDropDownItem() |
初始化 ToolStripDropDownItem 类的新实例。 |
ToolStripDropDownItem(String, Image, EventHandler) |
使用指定的显示文本、图像和当单击下拉控件时要执行的操作来初始化 ToolStripDropDownItem 类的新实例。 |
ToolStripDropDownItem(String, Image, EventHandler, String) |
使用指定的显示文本、图像、当单击下拉控件时要执行的操作以及控件名称来初始化 ToolStripDropDownItem 类的新实例。 |
ToolStripDropDownItem(String, Image, ToolStripItem[]) |
使用指定的显示文本、图像和下拉控件所包含的 ToolStripDropDownItem 集合来初始化 ToolStripItem 类的新实例。 |
属性
方法
事件
显式接口实现
IDropTarget.OnDragDrop(DragEventArgs) |
引发 DragDrop 事件。 (继承自 ToolStripItem) |
IDropTarget.OnDragEnter(DragEventArgs) |
引发 DragEnter 事件。 (继承自 ToolStripItem) |
IDropTarget.OnDragLeave(EventArgs) |
引发 DragLeave 事件。 (继承自 ToolStripItem) |
IDropTarget.OnDragOver(DragEventArgs) |
引发 |