Como: Associar um Menu de atalho com um componente NotifyIcon do Windows Forms
Observação |
---|
Embora MenuStrip e ContextMenuStrip Substituir e adicionar funcionalidade para o MainMenu e ContextMenu controles de versões anteriores, MainMenu e ContextMenu são mantidas para compatibilidade com versões anteriores e o uso futuro, se você escolher. |
O NotifyIcon componente exibe um ícone na área de notificação de status da barra de tarefas. Normalmente, aplicativos permitem que você clicar duas vezes nesse ícone para enviar comandos para o aplicativo que ele representa. Associando um ContextMenu componente com o NotifyIcon componente, você pode adicionar essa funcionalidade para seus aplicativos.
Observação |
---|
Se você quiser que o aplicativo seja minimizada na inicialização durante a exibição de uma instância da NotifyIcon componente na barra de tarefas, definir o formulário principal WindowState propriedade para Minimized e certifique-se a NotifyIcon do componente Visible for definida como true. |
Para associar um menu de atalho com o componente NotifyIcon no tempo de design
Adicionar um NotifyIcon componente ao seu formulário e defina as propriedades importantes, como o Icon e Visible Propriedades.
Para obter mais informações, consulte Como: Adicionar ícones de aplicativos na barra de tarefas com o componente NotifyIcon do Windows Forms.
Adicionar um ContextMenu o componente ao seu formulário do Windows.
Adicione itens de menu ao menu de atalho que representa os comandos que você deseja disponibilizar em tempo de execução. Isso também é um bom momento para adicionar os aprimoramentos do menu para esses itens de menu, como chaves de acesso.
Definir o ContextMenu propriedade da NotifyIcon componente para o menu de atalho que você adicionou.
Com esse conjunto de propriedades no menu de atalho será exibido quando o ícone na barra de tarefas é clicado.
Para associar um menu de atalho com o componente NotifyIcon programaticamente
Criar uma instância da NotifyIcon classe e um ContextMenu classe, com quaisquer configurações de propriedade são necessárias para o aplicativo (Icon e Visible Propriedades para o NotifyIcon componente, itens de menu para o ContextMenu componente).
Definir o ContextMenu propriedade da NotifyIcon componente para o menu de atalho que você adicionou.
Com esse conjunto de propriedades no menu de atalho será exibido quando o ícone na barra de tarefas é clicado.
Observação O exemplo de código a seguir cria uma estrutura de menu básico. Você precisará personalizar as opções de menu para aqueles que se ajustam o aplicativo que você está desenvolvendo. Além disso, você vai querer gravar código para manipular o Click eventos para esses itens de menu.
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;
}
Observação |
---|
Você deve inicializar notifyIcon1 e contextMenu1, que pode ser feito, incluindo as instruções a seguir no construtor do formulário: |
notifyIcon1 = gcnew System::Windows::Forms::NotifyIcon();
contextMenu1 = gcnew System::Windows::Forms::ContextMenu();
Consulte também
Tarefas
Referência
Os componente NotifyIcon Overview (Windows Forms)