MenuItem 類別

定義

表示 MainMenuContextMenu 中顯示的個別項目。

此類別在 .NET Core 3.1 和更新版本中無法使用。 請 ToolStripMenuItem 改用 MenuItem ,以取代 控制項。

public ref class MenuItem : System::Windows::Forms::Menu
public class MenuItem : System.Windows.Forms.Menu
type MenuItem = class
    inherit Menu
Public Class MenuItem
Inherits Menu
繼承

範例

下列程式碼範例會建立表單的功能表結構。 範例程式碼會新增 MenuItem 來代表最上層功能表項目、將子功能表專案新增至其中以選取字型大小,然後將兩個子功能表項目目新增至代表應用程式中大字型和小型字型選項的功能表項目。 此範例會要求有名為 mainMenu1 的物件,以及名為 menuItem1menuItem3menuItem2 和 的 menuItem4MenuItemMainMenu 物件。

public:
   void CreateMyMenu()
   {
      // Set the caption for the top-level menu item.
      menuItem1->Text = "Edit";
      // Set the caption for the first submenu.
      menuItem2->Text = "Font Size";
      // Set the caption for menuItem2's first submenu.
      menuItem3->Text = "Small";
      // Set the checked property to true since this is the default value.
      menuItem3->Checked = true;
      // Define a shortcut key combination for the menu item.
      menuItem3->Shortcut = Shortcut::CtrlS;
      // Set the caption of the second sub menu item of menuItem2.
      menuItem4->Text = "Large";
      // Define a shortcut key combination for the menu item.
      menuItem4->Shortcut = Shortcut::CtrlL;
      // Set the index of the menu item so it is placed below the first submenu item.
      menuItem4->Index = 1;
      // Add menuItem3 and menuItem4 to menuItem2's list of menu items.
      menuItem2->MenuItems->Add( menuItem3 );
      menuItem2->MenuItems->Add( menuItem4 );
      // Add menuItem2 to menuItem1's list of menu items.
      menuItem1->MenuItems->Add( menuItem2 );
      // Add menuItem1 to the MainMenu for displaying.
      mainMenu1->MenuItems->Add( menuItem1 );
   }
public void CreateMyMenu()
    {
    // Set the caption for the top-level menu item.
    menuItem1.Text = "Edit";
    // Set the caption for the first submenu.
    menuItem2.Text = "Font Size";
    // Set the caption for menuItem2's first submenu.
    menuItem3.Text = "Small";
    // Set the checked property to true since this is the default value.
    menuItem3.Checked = true;
    // Define a shortcut key combination for the menu item.
    menuItem3.Shortcut = Shortcut.CtrlS;
    // Set the caption of the second sub menu item of menuItem2.
    menuItem4.Text = "Large";
    // Define a shortcut key combination for the menu item.
    menuItem4.Shortcut = Shortcut.CtrlL;
    // Set the index of the menu item so it is placed below the first submenu item.
    menuItem4.Index = 1;
    // Add menuItem3 and menuItem4 to menuItem2's list of menu items.
    menuItem2.MenuItems.Add(menuItem3);
    menuItem2.MenuItems.Add(menuItem4);
    // Add menuItem2 to menuItem1's list of menu items.
    menuItem1.MenuItems.Add(menuItem2);
    // Add menuItem1 to the MainMenu for displaying.
    mainMenu1.MenuItems.Add(menuItem1);
    }
Public Sub CreateMyMenu()
    ' Set the caption for the top-level menu item.
    menuItem1.Text = "Edit"
    ' Set the caption for the first submenu.
    menuItem2.Text = "Font Size"
    ' Set the caption for menuItem2's first submenu.
    menuItem3.Text = "Small"
    ' Set the checked property to true since this is the default value.
    menuItem3.Checked = True
    ' Define a shortcut key combination for the menu item.
    menuItem3.Shortcut = Shortcut.CtrlS
    ' Set the caption of the second sub menu item of menuItem2.
    menuItem4.Text = "Large"
    ' Define a shortcut key combination for the menu item.
    menuItem4.Shortcut = Shortcut.CtrlL
    ' Set the index of the menu item so it is placed below the first submenu item.
    menuItem4.Index = 1
    ' Add menuItem3 and menuItem4 to menuItem2's list of menu items.
    menuItem2.MenuItems.Add(menuItem3)
    menuItem2.MenuItems.Add(menuItem4)
    ' Add menuItem2 to menuItem1's list of menu items.
    menuItem1.MenuItems.Add(menuItem2)
    ' Add menuItem1 to the MainMenu for displaying.
    mainMenu1.MenuItems.Add(menuItem1)
End Sub

備註

此類別在 .NET Core 3.1 和更新版本中無法使用。 請改用 ToolStripMenuItem

若要 MenuItem 顯示 ,您必須將它新增至 MainMenuContextMenu 。 若要建立子功能表,您可以將 物件加入 MenuItemMenuItemsMenuItem 代 的 屬性。

類別 MenuItem 提供屬性,可讓您設定功能表項目的外觀和功能。 若要在功能表項目旁邊顯示核取記號,請使用 Checked 屬性。 您可以使用這項功能來識別在互斥功能表項目清單中選取的功能表項目。 例如,如果您有一組功能表項目可用來設定控制項中的 TextBox 文字色彩,您可以使用 Checked 屬性來識別目前選取的色彩。 屬性 Shortcut 可用來定義可按下以選取功能表項目的鍵盤組合。

對於 MenuItem 多個檔介面 (MDI) 應用程式中顯示的物件,您可以使用 MergeMenu 方法,將 的 MDI 父系功能表與其子表單的功能表合併,以建立合併功能表結構。 MenuItem因為 不能同時在多個位置重複使用 ,例如 在 和 ContextMenuMainMenu ,所以您可以使用 CloneMenu 方法來建立 複本 MenuItem ,以用於另一個位置。

事件 Popup 可讓您在功能表顯示之前執行工作。 例如,您可以建立此事件的事件處理常式,根據程式碼的狀態來顯示或隱藏功能表項目。 此 Select 事件可讓您執行工作,例如當使用者將滑鼠指標放在功能表項目上方時,為應用程式的功能表項目提供詳細的說明。

建構函式

MenuItem()

使用空白標題來初始化 MenuItem

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

使用指定的標題;為 MenuItemClickSelect 事件定義的事件處理常式;快速鍵;合併型別;和為功能表項目指定的順序,來初始化 Popup 類別的新執行個體。

MenuItem(String)

使用功能表項目的指定標題來初始化 MenuItem 類別的新執行個體。

MenuItem(String, EventHandler)

使用指定的標題和功能表項目的 Click 事件的事件處理常式,初始化類別的新執行個體。

MenuItem(String, EventHandler, Shortcut)

使用指定的標題、事件處理常式,和功能表項目的相關快速鍵,來初始化類別的新執行個體。

MenuItem(String, MenuItem[])

使用指定標題和為功能表項目定義的子功能表項目陣列,來初始化類別的新執行個體。

欄位

FindHandle

指定 FindMenuItem(Int32, IntPtr) 方法應該搜尋控制代碼。

(繼承來源 Menu)
FindShortcut

指定 FindMenuItem(Int32, IntPtr) 方法應該搜尋捷徑。

(繼承來源 Menu)

屬性

BarBreak

取得或設定值,指出 MenuItem 是放在新的一行 (對加入至 MainMenu 物件的功能表項目而言) 還是新的一欄 (對 ContextMenu 中顯示的子功能表項目或功能表項目而言)。

Break

取得或設定值,指出項目是放在新的一行 (對加入至 MainMenu 物件的功能表項目而言) 或新的一欄 (對 ContextMenu 中顯示的功能表項目或子功能表項目而言)。

CanRaiseEvents

取得值,指出元件是否能引發事件。

(繼承來源 Component)
Checked

取得或設定值,指出功能表項目的文字旁邊要不要顯示核取記號。

Container

取得包含 IContainerComponent

(繼承來源 Component)
DefaultItem

取得或設定值,指出功能表項目是不是預設的功能表項目。

DesignMode

取得值,指出 Component 目前是否處於設計模式。

(繼承來源 Component)
Enabled

取得或設定值,指出是否啟用功能表項目。

Events

取得附加在這個 Component 上的事件處理常式清單。

(繼承來源 Component)
Handle

取得值,表示功能表的視窗控制代碼 (Window Handle)。

(繼承來源 Menu)
Index

取得或設定值,指出功能表項目在父功能表中的位置。

IsParent

取得值,指出功能表項目是否含有子功能表項目。

MdiList

取得或設定值,指出功能表項目中會不會填入相關表單內顯示的多重文件介面 (MDI) 的子視窗清單。

MdiListItem

取得值,指出用來顯示多重文件介面 (MDI) 子表單清單的 MenuItem

(繼承來源 Menu)
MenuID

取得值,指出這個功能表項目的 Windows 識別項。

MenuItems

取得值,指出與功能表相關的 MenuItem 物件集合。

(繼承來源 Menu)
MergeOrder

取得或設定值,指出功能表項目與其他項目合併時的相對位置。

MergeType

取得或設定值,指出這個功能表項目的功能表和其他功能表合併時,這個功能表項目的行為。

Mnemonic

取得值,指出與這個功能表項目相關的助憶鍵字元。

Name

取得或設定 Menu 的名稱。

(繼承來源 Menu)
OwnerDraw

取得或設定值,指出是您所提供的程式碼繪製功能表項目,還是由 Windows 來繪製功能表項目。

Parent

取得值,指出含有這個功能表項目的功能表。

RadioCheck

取得或設定值,指出如果選取 MenuItem,是否顯示選項按鈕,而不顯示核取記號。

Shortcut

取得或設定值,指出與功能表項目相關的快速鍵。

ShowShortcut

取得或設定值,指出功能表項目標題的旁邊是否顯示出與功能表項目相關的快速鍵。

Site

取得或設定 ComponentISite

(繼承來源 Component)
Tag

取得或設定與控制項相關的使用者定義資料。

(繼承來源 Menu)
Text

取得或設定值,指出功能表項目的標題。

Visible

取得或設定值,指出功能表項目是否為可見。

方法

CloneMenu()

建立目前的 MenuItem 複本。

CloneMenu(Menu)

將以參數傳遞的 Menu 複製到目前的 Menu

(繼承來源 Menu)
CloneMenu(MenuItem)

建立目前 MenuItem 的複本。

CreateMenuHandle()

建立 Menu 的新控制代碼。

(繼承來源 Menu)
CreateObjRef(Type)

建立包含所有相關資訊的物件,這些資訊是產生用來與遠端物件通訊的所需 Proxy。

(繼承來源 MarshalByRefObject)
Dispose()

釋放 Component 所使用的所有資源。

(繼承來源 Component)
Dispose(Boolean)

處置 (Dispose) MenuItem 所使用的資源 (除了記憶體之外)。

Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
FindMenuItem(Int32, IntPtr)

取得包含指定值的 MenuItem

(繼承來源 Menu)
FindMergePosition(Int32)

傳回功能表項目應該插入功能表上的位置。

(繼承來源 Menu)
GetContextMenu()

取得含有這個功能表的 ContextMenu

(繼承來源 Menu)
GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetLifetimeService()
已淘汰.

擷取控制這個執行個體存留期 (Lifetime) 原則的目前存留期服務物件。

(繼承來源 MarshalByRefObject)
GetMainMenu()

取得含有這個功能表的 MainMenu

(繼承來源 Menu)
GetService(Type)

傳回表示 Component 或其 Container 所提供之服務的物件。

(繼承來源 Component)
GetType()

取得目前執行個體的 Type

(繼承來源 Object)
InitializeLifetimeService()
已淘汰.

取得存留期服務物件,以控制這個執行個體的存留期原則。

(繼承來源 MarshalByRefObject)
MemberwiseClone()

建立目前 Object 的淺層複製。

(繼承來源 Object)
MemberwiseClone(Boolean)

建立目前 MarshalByRefObject 物件的淺層複本。

(繼承來源 MarshalByRefObject)
MergeMenu()

這個 MenuItem 和另一 MenuItem 合併後傳回合併產生的 MenuItem

MergeMenu(Menu)

將一個功能表的 MenuItem 物件和目前的功能表合併。

(繼承來源 Menu)
MergeMenu(MenuItem)

合併這個功能表項目與另一功能表項目。

OnClick(EventArgs)

引發 Click 事件。

OnDrawItem(DrawItemEventArgs)

引發 DrawItem 事件。

OnInitMenuPopup(EventArgs)

引發 Popup 事件。

OnMeasureItem(MeasureItemEventArgs)

引發 MeasureItem 事件。

OnPopup(EventArgs)

引發 Popup 事件。

OnSelect(EventArgs)

引發 Select 事件。

PerformClick()

產生 ClickMenuItem 事件,模擬使用者按下的動作。

PerformSelect()

引發這個功能表項目的 Select 事件。

ProcessCmdKey(Message, Keys)

處理命令按鍵。

(繼承來源 Menu)
ToString()

傳回表示 MenuItem 的字串。

事件

Click

發生於按一下功能表項目,或使用為功能表項目定義的快速鍵或便捷鍵選取時。

Disposed

Dispose() 方法的呼叫處置元件時,就會發生。

(繼承來源 Component)
DrawItem

當功能表項目的 OwnerDraw 屬性設定為 true 並且有繪製功能表項目的要求時發生。

MeasureItem

發生於功能表繪製前需要先知道功能表項目的大小時。

Popup

發生於功能表項目的功能表項目清單顯示前。

Select

發生於使用者將指標放在功能表項目上方時。

適用於

另請參閱