HOW TO:將捷徑功能表與 Windows Form NotifyIcon 元件關聯
注意事項 |
---|
雖然 MenuStrip 和 ContextMenuStrip 會取代和加入功能至舊版的 MainMenu 和 ContextMenu 控制項,但是會保留 MainMenu 和 ContextMenu 以提供回溯相容性 (Backward Compatibility) 和未來使用 (如果您選擇要用)。 |
NotifyIcon 元件會在工作列的狀態告知區域中顯示圖示。 通常,應用程式允許您以滑鼠右鍵按一下這個圖示,將命令傳送至它所代表的應用程式。 您可將 ContextMenu 元件與 NotifyIcon 元件相關聯,藉此將這個功能加入至應用程式。
注意事項 |
---|
如果您希望應用程式在啟動時最小化,同時在工具列中顯示 NotifyIcon 元件的執行個體,請將主要表單的 WindowState 屬性設定為 Minimized,並確定 NotifyIcon 元件的 Visible 屬性是設定為 true。 |
若要在設計階段將捷徑功能表與 NotifyIcon 元件相關聯
將 NotifyIcon 元件加入至表單,並設定重要的屬性,例如 Icon 和 Visible 屬性。
如需詳細資訊,請參閱 HOW TO:使用 Windows Form NotifyIcon 元件將應用程式圖示加入至 TaskBar。
將 ContextMenu 元件加入至 Windows Form。
將功能表項目加入至捷徑功能表,此功能表代表您希望在執行階段可以使用的命令。 這也是將功能表增強功能加入至這些功能表項目 (如便捷鍵) 的好時機。
將 NotifyIcon 元件的 ContextMenu 屬性設定為您加入的捷徑功能表。
在設定這個屬性後,當使用者按一下工作列上的圖示時,就會顯示捷徑功能表。
若要以程式設計方式將捷徑功能表與 NotifyIcon 元件相關聯
建立 NotifyIcon 類別 (Class) 和 ContextMenu 類別的執行個體,使用應用程式需要的任何屬性設定 (NotifyIcon 元件的 Icon 和 Visible 屬性,以及 ContextMenu 元件的功能表物件)。
將 NotifyIcon 元件的 ContextMenu 屬性設定為您加入的捷徑功能表。
在設定這個屬性後,當使用者按一下工作列上的圖示時,就會顯示捷徑功能表。
注意事項 下列程式碼範例建立基本的功能表結構。 您將需要自訂功能表選擇,以符合您正在開發的應用程式。 此外,需要撰寫程式碼以處理這些功能表項目的 Click 事件。
Public ContextMenu1 As New ContextMenu Public NotifyIcon1 As New NotifyIcon Public Sub CreateIconMenuStructure() ' Add menu items to shortcut menu. ContextMenu1.MenuItems.Add("&Open Application") ContextMenu1.MenuItems.Add("S&uspend Application") ContextMenu1.MenuItems.Add("E&xit") ' Set properties of NotifyIcon component. NotifyIcon1.Icon = New System.Drawing.Icon _ (System.Environment.GetFolderPath _ (System.Environment.SpecialFolder.Personal) _ & "\Icon.ico") NotifyIcon1.Text = "Right-click me!" NotifyIcon1.Visible = True NotifyIcon1.ContextMenu = ContextMenu1 End Sub
public NotifyIcon notifyIcon1 = new NotifyIcon();
public ContextMenu contextMenu1 = new ContextMenu();
public void createIconMenuStructure()
{
// Add menu items to shortcut menu.
contextMenu1.MenuItems.Add("&Open Application");
contextMenu1.MenuItems.Add("S&uspend Application");
contextMenu1.MenuItems.Add("E&xit");
// Set properties of NotifyIcon component.
notifyIcon1.Icon = new System.Drawing.Icon
(System.Environment.GetFolderPath
(System.Environment.SpecialFolder.Personal)
+ @"\Icon.ico");
notifyIcon1.Visible = true;
notifyIcon1.Text = "Right-click me!";
notifyIcon1.Visible = true;
notifyIcon1.ContextMenu = contextMenu1;
}
public NotifyIcon notifyIcon1 = new NotifyIcon();
public ContextMenu contextMenu1 = new ContextMenu();
public void createIconMenuStructure()
{
// Add menu items to shortcut menu.
contextMenu1.get_MenuItems().Add("&Open Application");
contextMenu1.get_MenuItems().Add("S&uspend Application");
contextMenu1.get_MenuItems().Add("E&xit");
// Set properties of NotifyIcon component.
notifyIcon1.set_Icon(new System.Drawing.Icon
(System.Environment.GetFolderPath
(System.Environment.SpecialFolder.Personal)
+ "\\Icon.ico"));
notifyIcon1.set_Text("Right-click me!");
notifyIcon1.set_Visible(true);
notifyIcon1.set_ContextMenu(contextMenu1);
}
public:
System::Windows::Forms::NotifyIcon ^ notifyIcon1;
System::Windows::Forms::ContextMenu ^ contextMenu1;
void createIconMenuStructure()
{
// Add menu items to shortcut menu.
contextMenu1->MenuItems->Add("&Open Application");
contextMenu1->MenuItems->Add("S&uspend Application");
contextMenu1->MenuItems->Add("E&xit");
// Set properties of NotifyIcon component.
notifyIcon1->Icon = gcnew System::Drawing::Icon
(String::Concat(System::Environment::GetFolderPath
(System::Environment::SpecialFolder::Personal),
"\\Icon.ico"));
notifyIcon1->Text = "Right-click me!";
notifyIcon1->Visible = true;
notifyIcon1->ContextMenu = contextMenu1;
}
注意事項 |
---|
您必須初始化 notifyIcon1 和 contextMenu1,,可藉由在表單的建構函式中加入下列陳述式的方式完成這項作業: |
notifyIcon1 = gcnew System::Windows::Forms::NotifyIcon();
contextMenu1 = gcnew System::Windows::Forms::ContextMenu();
請參閱
工作
HOW TO:使用 Windows Form NotifyIcon 元件將應用程式圖示加入至 TaskBar
參考
NotifyIcon 元件概觀 (Windows Form)