共用方式為


詳述:更多有關功能表的資訊

更新:2007 年 11 月

在本課程中,您將學習如何在執行階段啟用或停用功能表,以及如何建立快顯功能表。

在上一個課程中,您學到如何使用 MenuStrip 控制項,建立讓使用者對程式進行相關選擇的功能表。但是在某些情況下,選項可能只有在特定時間才能使用。例如,[複製] 功能表命令只有在項目能夠複製時才能使用。

大部分的程式會在功能表命令無法使用時加以停用,而不是加以隱藏。停用功能表項目時,功能表文字的顏色就變為灰色,而且按一下該功能表項目也不會執行任何動作。使用 MenuStrip 控制項時,您可以利用 MenuItemEnabled 屬性來停用及啟用功能表項目。

試試看!

若要停用或啟用功能表項目

  1. 在 [檔案] 功能表上,按一下 [新增專案]。

  2. 在 [新增專案] 對話方塊中,按一下 [範本] 窗格中的 [Windows Form 應用程式]。

  3. 在 [名稱] 方塊中,輸入 Menus2,再按 [確定]。

    會開啟新的 Windows Form 專案。

  4. 從 [工具箱] 將 MenuStrip 控制項和 TextBox 控制項拖曳到表單上。

  5. 在表單中,按一下 MenuStrip 控制項,再輸入 Edit, ,然後按 ENTER。

  6. 在第一個方塊下面的方塊中輸入 Copy,然後按下 ENTER 鍵。

  7. 在 [屬性] 視窗中,將 [CopyToolStripMenuItem] 的 Enabled 屬性設定為 False。

  8. 按兩下 TextBox 控制項,開啟 [程式碼編輯器]。

  9. 在 TextBox1_TextChanged 事件處理常式中,輸入下列程式碼。

    If Textbox1.Text <> "" Then
      CopyToolStripMenuItem.Enabled = True
    Else
      CopyToolStripMenuItem.Enabled = False
    End If
    
  10. 請按 F5 執行應用程式。按一下 [編輯] 功能表,此時 [複製] 功能表項目是停用的。在 TextBox 控制項中輸入任意內容,然後再次按一下 [編輯] 功能表,此時 [複製] 功能表項目便已啟用。

建立快顯功能表

許多程式都會使用快顯功能表 (也稱為「內容功能表」(Context Menu)),方便使用者存取常用的命令。只要於執行階段,以滑鼠右鍵按一下表單或控制項,即可存取內容功能表。您可以在 Visual Basic 中使用 ContextMenuStrip 控制項,自行建立內容功能表。

MenuStrip 控制項一樣,當您將 ContextMenuStrip 控制項拖曳到表單上時,ContextMenuStrip 控制項會出現在表單上半部成為方塊,其中有「在這裡輸入」的文字,並且在元件匣中加入圖示。不過,跟 MenuStrip 不同的是,其他項目只能加在第一個功能表項目之下,以建立垂直式功能表。

此外,ContextMenuStrip 必須與您想要在其中顯示的表單或控制項產生關聯。您可以透過將表單或控制項的 ContextMenuStrip 屬性設定為 ContextMenuStrip 控制項的名稱,來執行上述作業。您可以讓單一 ContextMenuStrip 與任意數目的控制項產生關聯。

試試看!

若要建立內容功能表

  1. 在 [檔案] 功能表上,指向 [新增],然後按一下 [專案]。

  2. 在 [新增專案] 對話方塊中,按一下 [範本] 窗格中的 [Windows Form 應用程式]。

  3. 在 [名稱] 方塊中,輸入 ContextMenus,再按 [確定]。

    會開啟新的 Windows Form 專案。

  4. 從 [工具箱] 將 ContextMenuStrip 控制項拖曳到表單上。

  5. 按一下 [設計] 檢視中的表單。在 [屬性] 視窗中,選取表單的 [ContextMenuStrip] 屬性,然後按一下下拉式清單中的 [ContextMenuStrip1]。

  6. 在整合式開發環境 (IDE) 底端的元件匣中,按一下 ContextMenuStrip 控制項。在 ContextMenuStrip 中,輸入 Option1, ,然後按 ENTER。

  7. 在第一個方塊下面的方塊中輸入 Option2,然後按下 ENTER 鍵。

  8. 按兩下 [Option1] 功能表項目,開啟 [程式碼編輯器]。

  9. 在 Option1ToolStripMenuItem_Click 事件處理常式中,輸入下列程式碼。

    MsgBox("You chose Option 1")
    
  10. 在 [程式碼編輯器] 中,從左邊下拉式方塊中選取 [Option2ToolStripMenuItem],然後從右邊下拉式方塊中選取 [Click]。

    程式碼編輯器中隨即出現稱為 [Option2ToolStripMenuItem _Click] 的事件處理常式。

  11. 在 [Option2ToolStripMenuItem _Click] 事件處理常式中,輸入下列程式碼。

    MsgBox("You chose Option 2")
    
  12. 請按 F5 執行應用程式。以滑鼠右鍵按一下表單,然後按內容功能表上的其中一個項目,訊息方塊隨即出現,說明所選擇的選項。

後續步驟

在本課程中,您學到如何啟用及停用功能表,以及如何建立內容功能表。在下一個主題中,您將學習如何使用不同類型的控制項 (Timer) 來執行動作。

下一個課程:使用計時器執行規則性動作

請參閱

工作

提供使用者選擇:在設計階段建立功能表

HOW TO:將 ContextMenuStrip 與控制項關聯

參考

MenuStrip 控制項概觀 (Windows Form)