Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Замечание
Хотя MenuStrip и ContextMenuStrip заменяют и добавляют функциональные возможности элементам управления MainMenu и ContextMenu предыдущих версий, MainMenu и ContextMenu сохраняются как для обратной совместимости, так и для дальнейшего использования по вашему выбору.
Компонент NotifyIcon отображает значок в области уведомлений о состоянии панели задач. Как правило, приложения позволяют щелкнуть правой кнопкой мыши этот значок для отправки команд в приложение, которое он представляет. Связывая компонент ContextMenu с компонентом NotifyIcon, вы можете добавить эту функциональность в свои приложения.
Замечание
Если вы хотите, чтобы приложение было свернуто при запуске при отображении экземпляра NotifyIcon компонента на панели задач, задайте для свойства основной формы WindowState значение Minimized и убедитесь, что для свойства NotifyIcon компонента Visible задано значение true.
Связывание контекстного меню с компонентом NotifyIcon во время разработки
В форму добавьте компонент NotifyIcon и задайте важные свойства, такие как Icon и Visible.
Дополнительные сведения см. в статье "Практическое руководство. Добавление значков приложений на панель задач с компонентом NotifyIcon в Windows Forms".
Добавьте компонент ContextMenu в Windows Form.
Добавьте элементы меню в контекстное меню, представляющее команды, которые необходимо сделать доступными во время выполнения. Это также хорошее время, чтобы добавить улучшения меню в эти пункты меню, такие как ключи доступа.
Установите свойство ContextMenu компонента NotifyIcon на контекстное меню, которое вы добавили.
При выборе этого свойства контекстное меню будет отображаться при щелчке значка на панели задач.
Связывание контекстного меню с компонентом NotifyIcon программным способом
Создайте экземпляр NotifyIcon класса и ContextMenu класса с любыми параметрами свойств, необходимыми для приложения (Icon и Visible свойств компонента NotifyIcon , элементов меню для ContextMenu компонента).
Установите свойство ContextMenu компонента NotifyIcon на контекстное меню, которое вы добавили.
При выборе этого свойства контекстное меню будет отображаться при щелчке значка на панели задач.
Замечание
В следующем примере кода создается базовая структура меню. Вам потребуется настроить варианты меню, подходящих для разрабатываемого приложения. Кроме того, необходимо написать код для обработки событий 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:
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();
См. также
.NET Desktop feedback