MenuItem 构造函数
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
初始化 MenuItem 类的新实例。
重载
MenuItem() |
使用空白标题初始化 MenuItem。 |
MenuItem(String) |
使用菜单项的指定标题初始化 MenuItem 类的一个新实例。 |
MenuItem(String, EventHandler) |
用指定标题和菜单项的 Click 事件的事件处理程序初始化该类的一个新实例。 |
MenuItem(String, MenuItem[]) |
用指定标题和为菜单项定义的一组子菜单项初始化该类的一个新实例。 |
MenuItem(String, EventHandler, Shortcut) |
用指定标题、事件处理程序和菜单项的关联快捷键初始化该类的一个新实例。 |
MenuItem(MenuMerge, Int32, Shortcut, String, EventHandler, EventHandler, EventHandler, MenuItem[]) |
用指定标题、为(MenuItem、Click 和 Select)事件定义的事件处理程序、快捷键、合并类型和为菜单项指定的顺序来初始化 Popup 类的一个新实例。 |
MenuItem()
使用空白标题初始化 MenuItem。
public:
MenuItem();
public MenuItem ();
Public Sub New ()
示例
下面的代码示例使用此版本的构造函数创建 MenuItem 。
public:
void CreateMyMenu()
{
// Create an empty menu item object.
MenuItem^ menuItem1 = gcnew MenuItem;
// Intialize the menu item using the parameterless version of the constructor.
// Set the caption of the menu item.
menuItem1->Text = "&File";
}
public void CreateMyMenu()
{
// Create an empty menu item object.
MenuItem menuItem1 = new MenuItem();
// Intialize the menu item using the parameterless version of the constructor.
// Set the caption of the menu item.
menuItem1.Text = "&File";
}
Public Sub CreateMyMenu()
' Create an empty menu item object.
Dim menuItem1 As New MenuItem()
' Intialize the menu item using the parameterless version of the constructor.
' Set the caption of the menu item.
menuItem1.Text = "&File"
End Sub
注解
使用此构造函数创建空白 MenuItem 后,可以使用 类的属性和方法 MenuItem 指定 的外观和行为 MenuItem。
适用于
MenuItem(String)
使用菜单项的指定标题初始化 MenuItem 类的一个新实例。
public:
MenuItem(System::String ^ text);
public MenuItem (string text);
new System.Windows.Forms.MenuItem : string -> System.Windows.Forms.MenuItem
Public Sub New (text As String)
参数
- text
- String
菜单项的标题。
示例
下面的代码示例创建一个 MenuItem ,指定在构造菜单项时菜单项的描述文字。
public:
void CreateMyMenus()
{
// Create an instance of a MenuItem with a specified caption.
menuItem1 = gcnew MenuItem( "&File" );
}
public void CreateMyMenus()
{
// Create an instance of a MenuItem with a specified caption.
menuItem1 = new MenuItem("&File");
}
Public Sub CreateMyMenus()
' Create an instance of a MenuItem with a specified caption.
menuItem1 = New MenuItem("&File")
End Sub
注解
使用 text
参数为菜单项指定描述文字时,还可以通过在用作访问键的字符之前放置“&”字符来指定访问键。 例如,若要将“文件”中的“F”指定为访问键,请将菜单项的描述文字指定为“&文件”。 可以使用此功能为菜单提供键盘导航。
将 text
参数设置为“”-
会导致菜单项显示为分隔符 (水平线) 而不是标准菜单项。
适用于
MenuItem(String, EventHandler)
用指定标题和菜单项的 Click 事件的事件处理程序初始化该类的一个新实例。
public:
MenuItem(System::String ^ text, EventHandler ^ onClick);
public MenuItem (string text, EventHandler onClick);
new System.Windows.Forms.MenuItem : string * EventHandler -> System.Windows.Forms.MenuItem
Public Sub New (text As String, onClick As EventHandler)
参数
- text
- String
菜单项的标题。
- onClick
- EventHandler
处理该菜单项的 EventHandler 事件的 Click。
示例
下面的代码示例创建一个MenuItem对象,该对象具有指定的描述文字和一个EventHandler连接到事件处理程序的委托,该事件处理程序将处理Click菜单项的 事件。
public:
void CreateMyMenuItem()
{
// Create an instance of MenuItem with caption and an event handler
MenuItem^ menuItem1 = gcnew MenuItem( "&New",gcnew System::EventHandler(
this, &Form1::MenuItem1_Click ) );
}
private:
// This method is an event handler for menuItem1 to use when connecting its event handler.
void MenuItem1_Click( Object^ sender, System::EventArgs^ e )
{
// Code goes here that handles the Click event.
}
public void CreateMyMenuItem()
{
// Create an instance of MenuItem with caption and an event handler
MenuItem menuItem1 = new MenuItem("&New", new System.EventHandler(this.MenuItem1_Click));
}
// This method is an event handler for menuItem1 to use when connecting its event handler.
private void MenuItem1_Click(Object sender, System.EventArgs e)
{
// Code goes here that handles the Click event.
}
Public Sub CreateMyMenuItem()
' Create an instance of MenuItem with caption and an event
' handler
Dim MenuItem1 As New MenuItem("&New", New _
System.EventHandler(AddressOf Me.MenuItem1_Click))
End Sub
' This method is an event handler for MenuItem1 to use when
' connecting its event handler.
Private Sub MenuItem1_Click(ByVal sender As System.Object, ByVal _
e as System.EventArgs)
' Code goes here that handles the Click event.
End Sub
注解
使用 text
参数为菜单项指定描述文字时,还可以通过在要用作访问键的字符之前放置“&”来指定访问键。 例如,若要将“文件”中的“F”指定为访问键,请将菜单项的描述文字指定为“&文件”。 可以使用此功能为菜单提供键盘导航。
将 text
参数设置为“”-
会导致菜单项显示为分隔符 (水平线) 而不是标准菜单项。
此外,可以使用此构造函数指定一个委托,该委托将处理 Click 正在创建的菜单项的事件。 EventHandler传递给此构造函数的 必须配置为调用可以处理事件的Click事件处理程序。 有关处理事件的详细信息,请参阅 处理和引发事件。
适用于
MenuItem(String, MenuItem[])
用指定标题和为菜单项定义的一组子菜单项初始化该类的一个新实例。
public:
MenuItem(System::String ^ text, cli::array <System::Windows::Forms::MenuItem ^> ^ items);
public MenuItem (string text, System.Windows.Forms.MenuItem[] items);
new System.Windows.Forms.MenuItem : string * System.Windows.Forms.MenuItem[] -> System.Windows.Forms.MenuItem
Public Sub New (text As String, items As MenuItem())
参数
- text
- String
菜单项的标题。
示例
下面的代码示例创建具有指定描述文字的对象,该事件处理程序连接到方法,该方法将处理子菜单项数组中的每个菜单项的事件。
public:
void CreateMyMenuItem()
{
// submenu item array.
array<MenuItem^>^ subMenus = gcnew array<MenuItem^>(3);
// Create three menu items to add to the submenu item array.
MenuItem^ subMenuItem1 = gcnew MenuItem( "Red" );
MenuItem^ subMenuItem2 = gcnew MenuItem( "Blue" );
MenuItem^ subMenuItem3 = gcnew MenuItem( "Green" );
// Add the submenu items to the array.
subMenus[ 0 ] = subMenuItem1;
subMenus[ 1 ] = subMenuItem2;
subMenus[ 2 ] = subMenuItem3;
// Create an instance of a MenuItem with caption and an array of submenu
// items specified.
MenuItem^ MenuItem1 = gcnew MenuItem( "&Colors",subMenus );
}
public void CreateMyMenuItem()
{
// submenu item array.
MenuItem[] subMenus = new MenuItem[3];
// Create three menu items to add to the submenu item array.
MenuItem subMenuItem1 = new MenuItem("Red");
MenuItem subMenuItem2 = new MenuItem("Blue");
MenuItem subMenuItem3 = new MenuItem("Green");
// Add the submenu items to the array.
subMenus[0] = subMenuItem1;
subMenus[1] = subMenuItem2;
subMenus[2] = subMenuItem3;
// Create an instance of a MenuItem with caption and an array of submenu
// items specified.
MenuItem MenuItem1 = new MenuItem("&Colors", subMenus);
}
Public Sub CreateMyMenuItem()
' submenu item array.
Dim subMenus(3) As MenuItem
' Create three menu items to add to the submenu item array.
Dim subMenuItem1 As New MenuItem("Red")
Dim subMenuItem2 As New MenuItem("Blue")
Dim subMenuItem3 As New MenuItem("Green")
' Add the submenu items to the array.
subMenus(0) = subMenuItem1
subMenus(1) = subMenuItem2
subMenus(2) = subMenuItem3
' Create an instance of a MenuItem with caption and an array of submenu
' items specified.
Dim MenuItem1 As New MenuItem("&Colors", subMenus)
End Sub
注解
使用 text
参数为菜单项指定描述文字时,还可以通过在要用作访问键的字符之前放置“&”来指定访问键。 例如,若要将“文件”中的“F”指定为访问键,请将菜单项的描述文字指定为“&文件”。 可以使用此功能为菜单提供键盘导航。
将 text
参数设置为“”-
会导致菜单项显示为分隔符 (水平线) 而不是标准菜单项。
使用 items
参数可以分配菜单项数组来定义此菜单项的子菜单。 数组中的每个项也可以具有分配给它的菜单项数组。 这使你可以创建完整的菜单结构,并将其分配给菜单项的构造函数。
有关处理事件的详细信息,请参阅 处理和引发事件。
适用于
MenuItem(String, EventHandler, Shortcut)
用指定标题、事件处理程序和菜单项的关联快捷键初始化该类的一个新实例。
public:
MenuItem(System::String ^ text, EventHandler ^ onClick, System::Windows::Forms::Shortcut shortcut);
public MenuItem (string text, EventHandler onClick, System.Windows.Forms.Shortcut shortcut);
new System.Windows.Forms.MenuItem : string * EventHandler * System.Windows.Forms.Shortcut -> System.Windows.Forms.MenuItem
Public Sub New (text As String, onClick As EventHandler, shortcut As Shortcut)
参数
- text
- String
菜单项的标题。
- onClick
- EventHandler
处理该菜单项的 EventHandler 事件的 Click。
示例
下面的代码示例使用指定的描述文字、快捷键和事件处理程序创建一个对象,该事件处理程序连接到将处理菜单项的 事件的方法。
public:
void CreateMyMenuItem()
{
// Create a MenuItem with caption, shortcut key, and an event handler
// specified.
MenuItem^ MenuItem1 = gcnew MenuItem( "&New",
gcnew System::EventHandler( this, &Form1::MenuItem1_Click ), Shortcut::CtrlL );
}
private:
// The following method is an event handler for menuItem1 to use when
// connecting the event handler.
void MenuItem1_Click( Object^ sender, EventArgs^ e )
{
// Code goes here that handles the Click event.
}
public void CreateMyMenuItem()
{
// Create a MenuItem with caption, shortcut key, and an event handler
// specified.
MenuItem MenuItem1 = new MenuItem("&New",
new System.EventHandler(this.MenuItem1_Click), Shortcut.CtrlL);
}
// The following method is an event handler for menuItem1 to use when
// connecting the event handler.
private void MenuItem1_Click(Object sender, EventArgs e)
{
// Code goes here that handles the Click event.
}
Public Sub CreateMyMenuItem()
' Create a MenuItem with caption, shortcut key, and an event handler
' specified.
Dim MenuItem1 As New MenuItem("&New", _
New System.EventHandler(AddressOf Me.MenuItem1_Click), Shortcut.CtrlL)
End Sub
' The following method is an event handler for menuItem1 to use when
' connecting the event handler.
Private Sub MenuItem1_Click(sender As Object, e As EventArgs)
' Code goes here that handles the Click event.
End Sub
注解
使用 text
参数为菜单项指定描述文字时,还可以通过在要用作访问键的字符之前放置“&”来指定访问键。 例如,若要将“文件”中的“F”指定为访问键,请将菜单项的描述文字指定为“&文件”。 可以使用此功能为菜单提供键盘导航。 此构造函数还可用于指定快捷键以及访问键以提供键盘导航。 使用快捷键可以指定可用于激活菜单项的键组合。
将 text
参数设置为“”-
会导致菜单项显示为分隔符 (水平线) 而不是标准菜单项。
此外,可以使用此构造函数指定一个委托,该委托将处理 Click 正在创建的菜单项的事件。 EventHandler传递给此构造函数的 必须配置为调用可以处理事件的Click事件处理程序。 有关处理事件的详细信息,请参阅 处理和引发事件。
适用于
MenuItem(MenuMerge, Int32, Shortcut, String, EventHandler, EventHandler, EventHandler, MenuItem[])
public:
MenuItem(System::Windows::Forms::MenuMerge mergeType, int mergeOrder, System::Windows::Forms::Shortcut shortcut, System::String ^ text, EventHandler ^ onClick, EventHandler ^ onPopup, EventHandler ^ onSelect, cli::array <System::Windows::Forms::MenuItem ^> ^ items);
public MenuItem (System.Windows.Forms.MenuMerge mergeType, int mergeOrder, System.Windows.Forms.Shortcut shortcut, string text, EventHandler onClick, EventHandler onPopup, EventHandler onSelect, System.Windows.Forms.MenuItem[] items);
new System.Windows.Forms.MenuItem : System.Windows.Forms.MenuMerge * int * System.Windows.Forms.Shortcut * string * EventHandler * EventHandler * EventHandler * System.Windows.Forms.MenuItem[] -> System.Windows.Forms.MenuItem
Public Sub New (mergeType As MenuMerge, mergeOrder As Integer, shortcut As Shortcut, text As String, onClick As EventHandler, onPopup As EventHandler, onSelect As EventHandler, items As MenuItem())
参数
- mergeOrder
- Int32
此菜单项在合并菜单中将占有的相对位置。
- text
- String
菜单项的标题。
- onClick
- EventHandler
处理该菜单项的 EventHandler 事件的 Click。
- onPopup
- EventHandler
处理该菜单项的 EventHandler 事件的 Popup。
- onSelect
- EventHandler
处理该菜单项的 EventHandler 事件的 Select。
示例
下面的代码示例创建一个具有描述文字和快捷键的菜单项。 菜单项还具有为 Popup、 Click和 Select 事件定义的事件处理程序。 如果合并此菜单项,它将将菜单项添加到合并顺序为零的菜单中。
public:
void CreateMyMenuItem()
{
// Submenu item array.
array<MenuItem^>^ subMenus = gcnew array<MenuItem^>(3);
// Create three menu items to add to the submenu item array.
MenuItem^ subMenuItem1 = gcnew MenuItem( "Red" );
MenuItem^ subMenuItem2 = gcnew MenuItem( "Blue" );
MenuItem^ subMenuItem3 = gcnew MenuItem( "Green" );
// Add the submenu items to the array.
subMenus[ 0 ] = subMenuItem1;
subMenus[ 1 ] = subMenuItem2;
subMenus[ 2 ] = subMenuItem3;
/* Create a MenuItem with caption, shortcut key,
a Click, Popup, and Select event handler, merge type and order, and an
array of submenu items specified.
*/
MenuItem^ menuItem1 = gcnew MenuItem( MenuMerge::Add, 0,
Shortcut::CtrlShiftC, "&Colors",
gcnew EventHandler( this, &Form1::MenuItem1_Click ),
gcnew EventHandler( this, &Form1::MenuItem1_Popup ),
gcnew EventHandler( this, &Form1::MenuItem1_Select ), subMenus );
}
private:
// The following method is an event handler for menuItem1 to use when connecting the Click event.
void MenuItem1_Click( Object^ sender, EventArgs^ e )
{
// Code goes here that handles the Click event.
}
// The following method is an event handler for menuItem1 to use when connecting the Popup event.
void MenuItem1_Popup( Object^ sender, EventArgs^ e )
{
// Code goes here that handles the Click event.
}
// The following method is an event handler for menuItem1 to use when connecting the Select event
void MenuItem1_Select( Object^ sender, EventArgs^ e )
{
// Code goes here that handles the Click event.
}
public void CreateMyMenuItem()
{
// Submenu item array.
MenuItem[] subMenus = new MenuItem[3];
// Create three menu items to add to the submenu item array.
MenuItem subMenuItem1 = new MenuItem("Red");
MenuItem subMenuItem2 = new MenuItem("Blue");
MenuItem subMenuItem3 = new MenuItem("Green");
// Add the submenu items to the array.
subMenus[0] = subMenuItem1;
subMenus[1] = subMenuItem2;
subMenus[2] = subMenuItem3;
/* Create a MenuItem with caption, shortcut key,
a Click, Popup, and Select event handler, merge type and order, and an
array of submenu items specified.
*/
MenuItem menuItem1 = new MenuItem(MenuMerge.Add, 0,
Shortcut.CtrlShiftC, "&Colors",
new EventHandler(this.MenuItem1_Click),
new EventHandler(this.MenuItem1_Popup),
new EventHandler(this.MenuItem1_Select), subMenus);
}
// The following method is an event handler for menuItem1 to use when connecting the Click event.
private void MenuItem1_Click(Object sender, EventArgs e)
{
// Code goes here that handles the Click event.
}
// The following method is an event handler for menuItem1 to use when connecting the Popup event.
private void MenuItem1_Popup(Object sender, EventArgs e)
{
// Code goes here that handles the Click event.
}
// The following method is an event handler for menuItem1 to use when connecting the Select event
private void MenuItem1_Select(Object sender, EventArgs e)
{
// Code goes here that handles the Click event.
}
Public Sub CreateMyMenuItem()
' Submenu item array.
Dim SubMenus(3) as MenuItem
' Create three menu items to add to the submenu item array.
Dim SubMenuItem1, SubMenuItem2, SubMenuItem3 as MenuItem
SubMenuItem1 = New MenuItem ("Red")
SubMenuItem2 = New MenuItem ("Blue")
SubMenuItem3 = New MenuItem ("Green")
' Add the submenu items to the array.
SubMenus(0) = SubMenuItem1
SubMenus(1) = SubMenuItem2
SubMenus(2) = SubMenuItem3
' Create a MenuItem with caption, shortcut key,
' a Click, Popup, and Select event handler, menu merge type and order, and an
' array of submenu items specified.
Dim MenuItem1 As MenuItem
MenuItem1 = New MenuItem(MenuMerge.Add, 0, Shortcut.CtrlShiftC, "&Colors", _
AddressOf Me.MenuItem1_Click, _
AddressOf Me.MenuItem1_Popup, _
AddressOf Me.MenuItem1_Select, SubMenus)
End Sub
' The following method is an event handler for MenuItem1 to use when connecting the Click event.
Private Sub MenuItem1_Click(ByVal sender As System.Object, ByVal e as System.EventArgs)
' Code goes here that handles the Click event.
End Sub
' The following method is an event handler for MenuItem1 to use when connecting the Popup event.
Private Sub MenuItem1_Popup(ByVal sender As System.Object, ByVal e as System.EventArgs)
' Code goes here that handles the Click event.
End Sub
' The following method is an event handler for MenuItem1 to use when connecting the Select event
Private Sub MenuItem1_Select(ByVal sender As System.Object, ByVal e as System.EventArgs)
' Code goes here that handles the Click event.
End Sub
注解
使用 text
参数为菜单项指定描述文字时,还可以通过在要用作访问键的字符之前放置“&”来指定访问键。 例如,若要将“文件”中的“F”指定为访问键,请将菜单项的描述文字指定为“&文件”。 可以使用此功能为菜单提供键盘导航。
将 text
参数设置为“”-
会导致菜单项显示为分隔符 (水平线) 而不是标准菜单项。
使用 items
参数可以分配菜单项数组来定义此菜单项的子菜单。 数组中的每个项也可以具有分配给它的菜单项数组。 这使你可以创建完整的菜单结构,并将其分配给菜单项的构造函数。
使用 mergeType
和 mergeOrder
参数,可以确定当菜单项与其他菜单合并时此菜单项的行为方式。 根据为 mergeType
参数指定的值,可以添加、删除、替换菜单项及其子菜单项,或者将其与它合并的菜单合并。 参数 mergeOrder
确定合并菜单时要创建的菜单项的位置。
此外,可以使用此构造函数创建 , MenuItem 并将其连接到代码中的事件处理程序,该事件处理程序将处理菜单项的单击。 EventHandler传入此构造函数的 应配置为调用可以处理事件的Click事件处理程序。 使用此构造函数版本,还可以连接 Popup 和 Select 事件,以确定何时选择此菜单项。 可以将这些事件用于一些任务,例如确定是否在子菜单项旁边显示检查标记,或者根据应用程序的状态启用或禁用菜单项。 Select仅针对MenuItem不是父菜单项的对象引发 和 Click 事件。 有关处理事件的详细信息,请参阅 处理和引发事件。