Поделиться через


MenuItem Конструкторы

Определение

Инициализирует новый экземпляр класса 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" в разделе "Файл" в качестве ключа доступа, необходимо указать подпись для пункта меню как "&File". Эту функцию можно использовать для навигации по меню с помощью клавиатуры.

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" в разделе "Файл" в качестве ключа доступа, необходимо указать подпись для пункта меню как "&File". Эту функцию можно использовать для навигации по меню с помощью клавиатуры.

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

Надпись для элемента меню.

items
MenuItem[]

Массив объектов MenuItem, содержащих элементы вложенного меню для данного элемента меню.

Примеры

В следующем примере кода создается объект с указанным подпись, обработчиком событий, подключенным к методу, который будет обрабатывать событие каждого пункта меню в массиве элементов подменю.

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" в разделе "Файл" в качестве ключа доступа, необходимо указать подпись для пункта меню как "&File". Эту функцию можно использовать для навигации по меню с помощью клавиатуры.

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 для данного элемента меню.

shortcut
Shortcut

Одно из значений перечисления Shortcut.

Примеры

В следующем примере кода создается объект с указанным подпись, сочетанием клавиш и обработчиком событий, подключенным к методу, который будет обрабатывать событие для пункта меню.

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" в разделе "Файл" в качестве ключа доступа, необходимо указать подпись для пункта меню как "&File". Эту функцию можно использовать для навигации по меню с помощью клавиатуры. Этот конструктор также позволяет указать сочетание клавиш в дополнение к клавише доступа для обеспечения навигации с помощью клавиатуры. Сочетания клавиш позволяют указать сочетание клавиш, которые можно использовать для активации пункта меню.

text Если задать для параметра значение "-", элемент меню будет отображаться как разделитель (горизонтальная линия), а не как стандартный пункт меню.

Кроме того, этот конструктор можно использовать для указания делегата, который будет обрабатывать Click событие для создаваемого пункта меню. Объект EventHandler , который передается в этот конструктор, должен быть настроен для вызова обработчика событий, который может обрабатывать Click событие. Дополнительные сведения об обработке событий см. в разделе Обработка и вызов событий.

Применяется к

MenuItem(MenuMerge, Int32, Shortcut, String, EventHandler, EventHandler, EventHandler, MenuItem[])

Инициализирует новый экземпляр класса MenuItem с заданной надписью. Определяет обработчики событий для событий Click, Select и Popup, сочетание клавиш, тип слияния и порядок, задаваемый для данного элемента меню.

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())

Параметры

mergeType
MenuMerge

Одно из значений перечисления MenuMerge.

mergeOrder
Int32

Относительное положение, которое будет занимать данный элемент в меню после слияния.

shortcut
Shortcut

Одно из значений перечисления Shortcut.

text
String

Надпись для элемента меню.

onClick
EventHandler

Объект EventHandler, обрабатывающий событие Click для данного элемента меню.

onPopup
EventHandler

Объект EventHandler, обрабатывающий событие Popup для данного элемента меню.

onSelect
EventHandler

Объект EventHandler, обрабатывающий событие Select для данного элемента меню.

items
MenuItem[]

Массив объектов MenuItem, содержащих элементы вложенного меню для данного элемента меню.

Примеры

В следующем примере кода создается пункт меню с подпись и сочетанием клавиш. В пункте меню также есть обработчики событий, определенные для 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" в разделе "Файл" в качестве ключа доступа, необходимо указать подпись для пункта меню как "&File". Эту функцию можно использовать для навигации по меню с помощью клавиатуры.

text Если задать для параметра значение "-", элемент меню будет отображаться как разделитель (горизонтальная линия), а не как стандартный пункт меню.

Параметр items позволяет назначить массив пунктов меню для определения подменю этого пункта меню. Каждому элементу в массиве также может быть назначен массив элементов меню. Это позволяет создавать полные структуры меню и назначать их конструктору для пункта меню.

Параметры mergeType и mergeOrder позволяют определить, как будет вести себя этот пункт меню при слиянии элемента меню с другим меню. В зависимости от значения, указанного mergeType для параметра, можно добавить, удалить, заменить или объединить элемент меню и его подменю с меню, с которым он объединяется. Параметр mergeOrder определяет, где будет располагаться создаваемый пункт меню при слиянии меню.

Кроме того, с помощью этого конструктора можно создать MenuItem и подключить его к обработчику событий в коде, который будет обрабатывать щелчок пункта меню. Объект EventHandler , который передается в этот конструктор, должен быть настроен для вызова обработчика событий, который может обрабатывать Click событие. Используя эту версию конструктора, можно также подключить Popup события и Select , чтобы определить, когда выбран этот пункт меню. Эти события можно использовать для таких задач, как определение того, следует ли отображать проверка метку рядом с элементами вложенного меню, а также для включения или отключения пунктов меню в зависимости от состояния приложения. События Select и Click вызываются только для MenuItem объектов, которые не являются родительскими элементами меню. Дополнительные сведения об обработке событий см. в разделе Обработка и вызов событий.

См. также раздел

Применяется к