Aplicação Windows - NotifyIcon

Nesta aula iremos aprender como gerar notificações de uma aplicação windows, também iremos mudar os ícones de nossa aplicação.

assinaturaAssine nossa Comunidade

Aplicação Windows -NotifyIcon

NotifyIcon serve para, quando criarmos um programa, permitir que o ícone desse programa fique visivel na área de ícones do windows.

O que podemos fazer com o NotifyIcon

Abaixo seguem algumas ações que podemos fazer com o NotifyIcon:

  • Ação para o ícone - ao clicar no ícone, ele executa uma ação;
  • Criar um menu - ao clicar com o botão direito do mouse, ele abre um menu com algumas opções: fechar o programa, processar, sair, etc..
  • Inserir uma mensagem - ao passar o mouse em cima do único ele mostra uma mensagem;
  • Mostrar Notificações - pode ser disparada notificações para o cliente comprar o sistema.

Inserir o NotfyIcon na aplicação

Para inserir um ícone na aplicação, devemos utilizar os tipos de arquivos com extensão .ico ou png

  • No menu de Ferramentas , em Toolbox, localizar o componente NotifyIcon
  • Arrastar o NotifyIcon para o formulário. Note que o NotifyIcon não fica diretamene no formulário, ele fica em uma área abaixo do formulário.
  • Fazer o download do ícone(.ico) através de site de ícones (sugerimos sites que possuem ícones free) .
  • Clicar com o botão direito do mouse em propriedades no NotifyIcon e preencher algumas propriedades:
    • Icon - selecionar o ícone que fizemos o download
    • Text - inserir a mensagem que será mostrada quando passar o mouse em cima do ícone.
    • Name - nome que identifica o NotifyIcon, que no exemplo será notifyIcon.
  • Ao compilar o sistema, o ícone já será mostrado no canto inferior direito da tela, na barra de ícones do windows.

Como inserir um ícone para a aplicação

  • Clicar com o botão direito do mouse no nome da aplicação (raiz) e clicar em propriedades;
  • Na propriedade Icon - selecionar o ícone que fizemos o download;
  • Compilar o programa novamente.
  • Como inserir um ícone no formulário

  • Clicar com o botão direito do mouse no formulário e clicar em propriedades;
  • Na propriedade Icon - selecionar o ícone que fizemos o download;
  • Ação clicar no ícone

    Agora vamos mostrar um exemplo de uma ação ao clicar no NotifyIcon. Para isso, vamos clicar com o botão direito do mouse do NotifyIcon, ir em propriedades e dar duplo clique no evento click. Neste evento vamos inserir o código abaixo:

          
            // Ao clicar no ícone, mostra a mensagem 'Cliquei no ícone'.
            
            namespace WindowsFormsApplication  
            {
              public partial class FrmCadastro : Form 
              {
                public FrmCadastro()
                {
                  InitializeComponent();
                }
                private void notifyIcon_Click(object sender, EventArgs e)
                {
                  MessageBox.Show("Cliquei no ícone");
                }
              }
            }
           
        

    Podemos também mostrar essa mensagem no evento MouseDoubleClick:

          
            // Ao dar dois cliques no  ícone, mostra a mensagem 'dois cliques no ícone'.
            
            namespace WindowsFormsApplication  
            {
             public partial class FrmCadastro : Form 
             {
               public FrmCadastro()
               {
                 InitializeComponent();
               }
               private void notifyIcon_MouseDoubleClick(object sender, EventArgs e)
               {
                  MessageBox.Show("dois cliques no ícone");
               }
             }
            }
           
        

    Como Criar um menu no ícone

    Agora vamos mostrar um exemplo de como criar um menu no ícone. Para isso, temos que fazer uma pré-configuração no NotifyIcon, ao carregar o formulário no evento Load.

    Itens de Menu que serão criados:

    • Fechar - Fechará o sistema
    • Abrir Cadastro - Abrirá uma tela de cadastro.

    Para criar os ítens de menu, vamos utilizar a classe ContextMenu, criando uma instância desta classe e inserir este objeto na propriedade ContextMenu do NotifyIcon, conforme código abaixo:

          
            // utilizando a propridade ContextMenu do componente notifyIcon
            
            namespace WindowsFormsApplication  
            {
              public partial class FrmCadastro : Form 
              {
                public FrmCadastro()
                {
                  InitializeComponent();
                }
                private void Form1_Load(object sender, EventArgs e)
                {
                  var contextMenu = new ContextMenu();
                  contextMenu.MenuItems.Add(new MenuItem("Fechar",fechar_Click));
                  contextMenu.MenuItems.Add(new MenuItem("Abrir Cadastro",abrirCadastro_Click));
                  notifyIcon.ContextMenu = contextMenu;
                }
    
                private void fechar_Click(object sender, EventArgs e)
                {
                  Application.Exit();
                }
                
                private void abrirCadastro_Click(object sender, EventArgs e)
                {
                  new FrmCadastro().Show();
                }
                
              }
            }
           
        

    Como Criar uma notificação.

    Para o nosso exemplo vamos inserir o componente button no formulário e inserir na propriedade name , o nome btnNotificacao.

    No Evento click do componente btnNotificação, vamos inserir a propridade ShowBallonTip do componente NotifyIcon.

    A propridade ShowBallonTip do componente NotifyIcon recebe os seguintes argumentos:

    • int Timeout - Tempo que será mostrada a mensagem em segundos;
    • string tipTitle - O título da Notificação;
    • string tipText - O texto que vai receber;
    • ToolTipIcon tipIcon - O ícone.
          
            // utilizando a propridade ShowBallonTip do componente notifyIcon
            
            namespace WindowsFormsApplication  
            {
             public partial class FrmCadastro : Form 
             {
               public FrmCadastro()
               {
                 InitializeComponent();
               }
                         
               private void btnNotificacao_Click(object sender, EventArgs e)
               {
                  notifyIcon.ShowBallonTip(10,"Notificação","Valide o campo nome e Telefone", TooltipIcon.warning)
               }
               
             }
            }
           
        

    Aplicação Windows - NotifyIcon

    Nesta aula iremos aprender como gerar notificações de uma aplicação windows, também iremos mudar os ícones de nossa aplicação.

    Próximas Aulas:
    assinaturaAssine nossa Comunidade

    Aplicação Windows -NotifyIcon

    NotifyIcon serve para, quando criarmos um programa, permitir que o ícone desse programa fique visivel na área de ícones do windows.

    O que podemos fazer com o NotifyIcon

    Abaixo seguem algumas ações que podemos fazer com o NotifyIcon:

    • Ação para o ícone - ao clicar no ícone, ele executa uma ação;
    • Criar um menu - ao clicar com o botão direito do mouse, ele abre um menu com algumas opções: fechar o programa, processar, sair, etc..
    • Inserir uma mensagem - ao passar o mouse em cima do único ele mostra uma mensagem;
    • Mostrar Notificações - pode ser disparada notificações para o cliente comprar o sistema.

    Inserir o NotfyIcon na aplicação

    Para inserir um ícone na aplicação, devemos utilizar os tipos de arquivos com extensão .ico ou png

    • No menu de Ferramentas , em Toolbox, localizar o componente NotifyIcon
    • Arrastar o NotifyIcon para o formulário. Note que o NotifyIcon não fica diretamene no formulário, ele fica em uma área abaixo do formulário.
    • Fazer o download do ícone(.ico) através de site de ícones (sugerimos sites que possuem ícones free) .
    • Clicar com o botão direito do mouse em propriedades no NotifyIcon e preencher algumas propriedades:
      • Icon - selecionar o ícone que fizemos o download
      • Text - inserir a mensagem que será mostrada quando passar o mouse em cima do ícone.
      • Name - nome que identifica o NotifyIcon, que no exemplo será notifyIcon.
    • Ao compilar o sistema, o ícone já será mostrado no canto inferior direito da tela, na barra de ícones do windows.

    Como inserir um ícone para a aplicação

  • Clicar com o botão direito do mouse no nome da aplicação (raiz) e clicar em propriedades;
  • Na propriedade Icon - selecionar o ícone que fizemos o download;
  • Compilar o programa novamente.
  • Como inserir um ícone no formulário

  • Clicar com o botão direito do mouse no formulário e clicar em propriedades;
  • Na propriedade Icon - selecionar o ícone que fizemos o download;
  • Ação clicar no ícone

    Agora vamos mostrar um exemplo de uma ação ao clicar no NotifyIcon. Para isso, vamos clicar com o botão direito do mouse do NotifyIcon, ir em propriedades e dar duplo clique no evento click. Neste evento vamos inserir o código abaixo:

          
            // Ao clicar no ícone, mostra a mensagem 'Cliquei no ícone'.
            
            namespace WindowsFormsApplication  
            {
              public partial class FrmCadastro : Form 
              {
                public FrmCadastro()
                {
                  InitializeComponent();
                }
                private void notifyIcon_Click(object sender, EventArgs e)
                {
                  MessageBox.Show("Cliquei no ícone");
                }
              }
            }
           
        

    Podemos também mostrar essa mensagem no evento MouseDoubleClick:

          
            // Ao dar dois cliques no  ícone, mostra a mensagem 'dois cliques no ícone'.
            
            namespace WindowsFormsApplication  
            {
             public partial class FrmCadastro : Form 
             {
               public FrmCadastro()
               {
                 InitializeComponent();
               }
               private void notifyIcon_MouseDoubleClick(object sender, EventArgs e)
               {
                  MessageBox.Show("dois cliques no ícone");
               }
             }
            }
           
        

    Como Criar um menu no ícone

    Agora vamos mostrar um exemplo de como criar um menu no ícone. Para isso, temos que fazer uma pré-configuração no NotifyIcon, ao carregar o formulário no evento Load.

    Itens de Menu que serão criados:

    • Fechar - Fechará o sistema
    • Abrir Cadastro - Abrirá uma tela de cadastro.

    Para criar os ítens de menu, vamos utilizar a classe ContextMenu, criando uma instância desta classe e inserir este objeto na propriedade ContextMenu do NotifyIcon, conforme código abaixo:

          
            // utilizando a propridade ContextMenu do componente notifyIcon
            
            namespace WindowsFormsApplication  
            {
              public partial class FrmCadastro : Form 
              {
                public FrmCadastro()
                {
                  InitializeComponent();
                }
                private void Form1_Load(object sender, EventArgs e)
                {
                  var contextMenu = new ContextMenu();
                  contextMenu.MenuItems.Add(new MenuItem("Fechar",fechar_Click));
                  contextMenu.MenuItems.Add(new MenuItem("Abrir Cadastro",abrirCadastro_Click));
                  notifyIcon.ContextMenu = contextMenu;
                }
    
                private void fechar_Click(object sender, EventArgs e)
                {
                  Application.Exit();
                }
                
                private void abrirCadastro_Click(object sender, EventArgs e)
                {
                  new FrmCadastro().Show();
                }
                
              }
            }
           
        

    Como Criar uma notificação.

    Para o nosso exemplo vamos inserir o componente button no formulário e inserir na propriedade name , o nome btnNotificacao.

    No Evento click do componente btnNotificação, vamos inserir a propridade ShowBallonTip do componente NotifyIcon.

    A propridade ShowBallonTip do componente NotifyIcon recebe os seguintes argumentos:

    • int Timeout - Tempo que será mostrada a mensagem em segundos;
    • string tipTitle - O título da Notificação;
    • string tipText - O texto que vai receber;
    • ToolTipIcon tipIcon - O ícone.
          
            // utilizando a propridade ShowBallonTip do componente notifyIcon
            
            namespace WindowsFormsApplication  
            {
             public partial class FrmCadastro : Form 
             {
               public FrmCadastro()
               {
                 InitializeComponent();
               }
                         
               private void btnNotificacao_Click(object sender, EventArgs e)
               {
                  notifyIcon.ShowBallonTip(10,"Notificação","Valide o campo nome e Telefone", TooltipIcon.warning)
               }
               
             }
            }