Compartilhar via


Como: Associar um Menu de atalho com um componente NotifyIcon do Windows Forms

ObservaçãoObservaçã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çãoObservaçã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

  1. 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.

  2. 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.

  3. 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

  1. 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).

  2. 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çãoObservaçã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çãoObservaçã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

Como: Adicionar ícones de aplicativos na barra de tarefas com o componente NotifyIcon do Windows Forms

Referência

Os componente NotifyIcon Overview (Windows Forms)

NotifyIcon

Icon

Outros recursos

Componente NotifyIcon do (Windows Forms)