1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

[Resolvido] NotifyIcon em c#

Discussão em 'Programação' iniciada por skullrazor, 4 de Janeiro de 2009. (Respostas: 33; Visualizações: 5413)

  1. skullrazor

    skullrazor [email protected] Member

    Boas
    Depois de algum tempo de pesquisa pelo google sem encontrar respostas que funcionassem correctamente, venho aqui expor a minha duvida... Alguem sabe como criar um quick launch icone na barra do menu iniciar, ao pé do relogio do windows, em c#? Ou seja, eu quero que ao carregar num botao ele me crie um pequeno icone ao pe do relogio do windows e que me "esconda" a form, podendo eu depois carregar nesse mesmo icone e a form voltar a aparecer... Agradeço desde ja toda a ajuda que me possam dar...

    Cumps
     
    Última edição: 10 de Janeiro de 2009
  2. andreizew

    andreizew What is folding?

    Boas,

    Vê lá se isto ajuda.

    cumps
     
  3. skullrazor

    skullrazor [email protected] Member

    Muito obrigado!! Funciona! Mas nao esta a funcionar a "100%"... Quando eu carrego para minimizar realmente aparece o quick launch icone, mas a form continua minimizada na barra do iniciar, e eu pretendia que ela ficasse apenas minimizada no icone, em mais lado nenhum! Penso que o Hide(); deveria fazer isso, mas nao esta a fazer... Como resolvo este problema?

    Cumps
     
  4. The_True_Eue

    The_True_Eue Power Member

    Só um pequeno detalhe:

    Quick launch (em português lançamento rápido) é uma barra que por defeito fica perto do botão Iniciar e tem atalhos para minimizar todas as janelas, para o Internet Explorer, entre outros. O seu conteúdo provém de atalhos e não de aplicações em execução.

    Aqueles ícones que ficam perto do relógio são chamados notify icons. A barra onde eles estão chama-se notification area (área de notificação), system tray (bandeja do sistema), systray ou simplesmente tray. É desta que estás a falar, e não da quick launch.
     
  5. skullrazor

    skullrazor [email protected] Member

    Obrigado pela explicaçao, nao tinha em mente que fosse assim... Se calhar se soubesse tinha sido mais simples de resolver isto pois bastava olhar para o notifyicon na toolbox do visual studio :P Mas alguem sabe como resolver o problema que referi atras? É que ja estive a tentar mais e o Hide(); nao esta a funcionar correctamente, pois a form continua minimizada na barra do menu iniciar =/

    Cumps
     
  6. Tomb4000

    Tomb4000 Power Member

    quando minimizas faz tambem o Hide do form.

    e depois para tornar a ver o form, no evento doubleclick do NotifyIcon fazes com que ele apareça novamente.
     
  7. skullrazor

    skullrazor [email protected] Member

    Mas isso é o que estou a fazer (penso eu)... Eu vou por aqui o codigo:

    Cumps
     
    Última edição: 4 de Janeiro de 2009
  8. Tomb4000

    Tomb4000 Power Member

    se quiseres usar so o icon para minimizar para o tray e tira-lo de lá é mais facil :D mas assim tambem é possivel. quando souber digo.
     
  9. skullrazor

    skullrazor [email protected] Member

    Nao percebi muito bem o que disses.te, mas fico à espera que digas algo entao... Obrigado :D

    Cumps
     
  10. skullrazor

    skullrazor [email protected] Member

    Ainda nao consegui resolver o problema =/ Alguem ajuda?

    Cumps
     
  11. Tomb4000

    Tomb4000 Power Member

    boas. tinha ficado de dizer algo, mas não me lembrei mais :P

    ora vê então se:

    this.ShowInTaskbar = false;

    não resolve o problema.
     
  12. skullrazor

    skullrazor [email protected] Member

    Testei na Form_Resize e na Form_Load e nao funcionou em nenhum dos dois casos =/

    Cumps
     
  13. Tomb4000

    Tomb4000 Power Member

    Mas então o problema já não é esconder a aplicação na barra, porque se meteres esse código num botão para experimentares, vez que realmente ele esconde...
     
  14. skullrazor

    skullrazor [email protected] Member

    Pois, realmente fiz esse teste do botão agora e ja funcionou... Nao à nenhuma maneira alternativa a esta para fazer a mesma coisa? Tinhas falado noutra maneira mais simples num post anterior...

    Cumps
     
  15. Tomb4000

    Tomb4000 Power Member

    se isto funciona prontos, só tens de fazer a forma certa para minimizares a janela e ela esconder-se e depois abri.la no icon. A forma que eu anteriormente dizia era fazer as duas coisas no icon, clicar uma vez para minimizar e outra para recuperar.

    Ao chegar a casa a ver se dou uma olhadela a isso então.
     
  16. skullrazor

    skullrazor [email protected] Member

    Ahh! Pois, mas penso que assim seja melhor, pois basta carregar no minimizar que passa logo para o notifyicon... okay, fico à espera entao, obrigado pela ajuda :D
     
  17. Tomb4000

    Tomb4000 Power Member

    Deves ter feito para aí alguma confusão.

    Repara entao se tens feito o seguinte:


    Crias o teu notifyicon no construtor do form:

    Código:
      icon = new System.Windows.Forms.NotifyIcon();
                icon.Visible = false;
                icon.Icon = this.Icon;
                icon.DoubleClick += new System.EventHandler(this.icon_abre_janela);
    Com ele crias também o evento doubleclick que executa o que estiver em icon_abre_janela.
    Em baixo então o dito procedimento:

    Código:
    public void icon_abre_janela(object sender, EventArgs e)
            {
                icon.Visible = false;
                this.Show();
                this.WindowState = FormWindowState.Normal;
            }
    Por fim colocas no evento resize do form:

    Código:
            private void Form1_Resize(object sender, EventArgs e)
            {
                if (FormWindowState.Minimized == this.WindowState)
                {
                    this.Hide();
                    icon.Visible = true;
                }
            }
    De certeza que fizeste alguma confusão para aí pelo meio do código.


    Abraço
     
    Última edição: 8 de Janeiro de 2009
  18. skullrazor

    skullrazor [email protected] Member

    Obrigado pela ajuda :D Vou testar o codigo e ver se realmente fiz algo mal... Mas so uma pergunta estupida que me ta a "passar ao lado", como entro no construtor do form?

    Cumps
     
  19. Tomb4000

    Tomb4000 Power Member

    :wow:

    O construtor do form é isto:

    public Form1()
    {

    }
     
  20. skullrazor

    skullrazor [email protected] Member

    Ahhh! xD Desculpa a "noobisse", penssava que tavas a falar de outra coisa :P

    Cumps
     

Partilhar esta Página