none
Ao minimizar o form1 esta Fechando RRS feed

  • Pergunta

  • Galera sei que existe muitos topicos sobre este assunto porém não achei nada o que esta acontecendo comigo eu uso

    notifyIcon1 para deixar o icone na area de tarefas, porém quando executo o comando abaixo so para dar um hide() no form1 o mesmo fecha a aplicação em vez de fechar,

    Alguem já passou por algo parecido?

     

    private

     

    void Form1_Resize(object sender, EventArgs e)

    {

     

    // Form foi Minimizado?

     

    if (this.WindowState == FormWindowState.Minimized)

    {

    Hide();

    }

    }

    quarta-feira, 12 de janeiro de 2011 17:45

Respostas

  • Bom dia Galera desenvolvedores,

    Eu denovo hahahhaha, bom vamos ao que interessa.

    Descobrir o problema é sguinte se eu coloco o form1 para abrir desta com ShowDialog quando coloco no evento resize para minimizar ele fecha o sistema.

    if (acesso.ShowDialog() == DialogResult.OK)
          {
            Form1 form = new Form1();
            form.usuario = acesso.txtLogin.Text;
            acesso.Hide();<br/>
             form1.ShowDialog();
          }
    

    Porém quando coloco o form1 para abrir com application.Run e adiciono o evento para minimizar no resize ele funciona normalmente.

    if (acesso.ShowDialog() == DialogResult.OK)
          {
            Form1 form = new Form1();
            form.usuario = acesso.txtLogin.Text;
            acesso.Close();
            Application.Run(form);
          }
    

    Vlw Galera

    Quebrei a cabeça tentando resolver este problem

    Very Good!

     

    sexta-feira, 14 de janeiro de 2011 09:36

Todas as Respostas

  • Tente usar  this.visible=false; ao invés de hide();

     

    ;)


    // PEDRO HERIQUE FROZI
    quarta-feira, 12 de janeiro de 2011 18:05
  • Amigo, se você quer colocar o icone na bandeija qunado minimizar, você precisa colocar um controle notifyIcon na sua aplicação, definir o icone e nome dele e fazer o evento no notifyIcon para mostrar a aplicação novamente depois de um click duplo por exemplo, seguinte:

     

     private void Form1_Resize(object sender, EventArgs e)
        {
          if (this.WindowState == FormWindowState.Minimized)
          {
            this.Hide();        
          }
        }
    
        private void notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e)
        {
          this.Show();
          this.WindowState = FormWindowState.Normal;
        }
    
    tem um link tambem explicativo: http://www.developer.com/article.php/3336751

     


    Olavo Oliveira Neto
    Se for útil marque como resposta e faça um Developer feliz :)
    quarta-feira, 12 de janeiro de 2011 18:15
  • Achei que ele já estava fazendo isso. . . ;)

    Não esquecer também que deve carregar o icone nas propriedades do notifyIcon1


    // PEDRO HERIQUE FROZI
    quarta-feira, 12 de janeiro de 2011 18:26
  • Cara estou fazendo desta form igualzinho porém quando coloco hide(); a aplicação fecha ao invez de so oculta, fiz o que o pfrozi visible = false porém tambem fecha a aplicação.

     

    cara tem alguma noção.

    quarta-feira, 12 de janeiro de 2011 18:39
  • cara, você colocou o notifyIcon e atribuiu um icone para ele ?

    Olavo Oliveira Neto
    Se for útil marque como resposta e faça um Developer feliz :)
    quarta-feira, 12 de janeiro de 2011 18:51
  • Sim atribuir o notifyIcon e coloquei um icone para ele.

    O notifyIcon funciona perfeitamente, sinceramente não tenho nem ideia do que pode ser isto.

    private

     

    void Form1_Resize(object sender, EventArgs e)

    {

     

    // Form foi Minimizado?

     

    if (this.WindowState == FormWindowState.Minimized)

    {

     

    this.Hide();

    }

    }

     

    private

     

    void notifyIcon1_MouseClick(object sender, MouseEventArgs e)

    {

    Show();

    WindowState =

    FormWindowState.Normal;

    }

    quarta-feira, 12 de janeiro de 2011 18:58
  • me diz uma coisa, quando você abre a aplicação, o icone dela já aparece lá na bandeja ?

    Olavo Oliveira Neto
    Se for útil marque como resposta e faça um Developer feliz :)
    quarta-feira, 12 de janeiro de 2011 19:06
  • Sim, quando inicio a aplicação o icone já aparece na bandeja

    quarta-feira, 12 de janeiro de 2011 19:09
  • e quando você minimiza ela fecha ? o icone some ?

    Olavo Oliveira Neto
    Se for útil marque como resposta e faça um Developer feliz :)
    quarta-feira, 12 de janeiro de 2011 19:11
  • Isso mesmo quando minimizo fecha , e o icone some.
    quarta-feira, 12 de janeiro de 2011 19:14
  • Isso mesmo quando minimizo fecha , e o icone some.

    Deixa-me fazer-te uma pergunta:

    O que voce quer fazer?

     


    Just Be Humble Malange!
    quarta-feira, 12 de janeiro de 2011 19:22
    Moderador
  • Quero que quando minimizar não feche a aplicação fique apenas minimizado.

     

    porém meu codigo esta desta forma sem tirar nem por e não funciona. ainda não consigo entender o que esta errado.

    private

     

    void Form1_Resize(object sender, EventArgs e)

     

    // Form foi Minimizado?

     

    if (this.WindowState == FormWindowState.Minimized)

     

    this.Hide();

    }

    }

     

    private

     

    void notifyIcon1_MouseClick(object sender, MouseEventArgs e)

     

    FormWindowState.Normal;

     

    }

    {

    Show();

    WindowState =

    {

     

    {

     

    quarta-feira, 12 de janeiro de 2011 19:24
  • Galera, acho que descobri por que esta fechando porém não sei como posso resolver, é o seguinte o codigo abaixo é um form que é para se o usuario logar no sistema se deu certo eu abro o form1 e faço um hide() no frmAcesso como vocês podem ver ai que quando o resize la no form1 nao funciona,

    porém se eu abrir direto o form1 ex:Application.Run(new Form1()); sem estar comentado ai o resize não fecha o form

    Vocês podem me ajudar nisto ai?

     

    Application

     

    .EnableVisualStyles();

     

    Application.SetCompatibleTextRenderingDefault(false);

     

    //Application.Run(new Form1());

     

    frmAcesso acesso = new frmAcesso();

     

    if (acesso.ShowDialog() == DialogResult.OK)

    {

     

    Form1 form1 = new Form1();

    form1.usuario = acesso.txtLogin.Text;

    acesso.Hide();

     

    //Application.Run(new Form1());

    form1.ShowDialog();

    }

    quarta-feira, 12 de janeiro de 2011 19:33
  • @Novais

    podes fazer um favor...Para de colocar codigo desnecessario. Assim fica dificil entender e ajudar voce.

    Vamos testar uma coisa, cria um botao novo e coloca este codigo dentro de faz click, quero ver se vai funcinar:

    private void button1_Click(object sender, System.EventArgs e)
    {
    // Minimize the form window
    	this.WindowState = FormWindowState.Minimized;
    	Thread.Sleep(2000);	// wait for 2 seconds
    	// Restore the form window
    	this.WindowState = FormWindowState.Normal;
    			
    	Thread.Sleep(2000);	// wait for 2 seconds
    	// Maximize the form window
    	this.WindowState = FormWindowState.Maximized;
    }


    Just Be Humble Malange!
    quarta-feira, 12 de janeiro de 2011 19:42
    Moderador
  • Novais,

    Uns tempos atrás escrevi um artigo para o Portal Linha de Código que, pelo que entendi, explica exatamente como fazer isso que você está querendo... Dê uma olhada:

    http://www.linhadecodigo.com.br/Artigo.aspx?id=1192


    André Alves de Lima
    Microsoft MVP - Client App Dev
    Visite o meu site: http://www.andrealveslima.com.br
    Me siga no Twitter: @andrealveslima
    quarta-feira, 12 de janeiro de 2011 21:30
    Moderador
  • Bom dia Galera do Forum,

    Malange com este botão não funciona se o modo de acesso estiver da maneira que esta em em baixo, porém se eu descomentar o Application.Run(new Form1()); ai sim funciona. 

    Application

    .EnableVisualStyles();

    Application .SetCompatibleTextRenderingDefault( false );

    frmAcesso acesso = new frmAcesso ();

    if (acesso.ShowDialog() == DialogResult .OK)

    {

    Form1 form1 = new Form1 ();

    form1.usuario = acesso.txtLogin.Text;

    acesso.Hide();

    //Application.Run(new Form1());

    form1.ShowDialog();

    }


    quinta-feira, 13 de janeiro de 2011 10:14
  • Bom dia Andre,

    Bom em relação ao seu artigo no linha de Código eu já tinha olhado e ate deixei o meu codigo no notifyIcon parecido com o seu.

    Porém o problema não esta ai é que quando eu minimizo o form1() ele fecha em vez de deixar oculto

    quinta-feira, 13 de janeiro de 2011 10:16
  • Cara por que voce tem isto Application.Run(new Form1());?

    qual e o objectivo de voce chamar este run new.form1();? E por isso que nao funciona. 

    Por que voce abre denovo o form. Remove este codigo, este codigo ja esta no teu programs.cs 



    Just Be Humble Malange!
    quinta-feira, 13 de janeiro de 2011 13:55
    Moderador
  • Bom dia Galera desenvolvedores,

    Eu denovo hahahhaha, bom vamos ao que interessa.

    Descobrir o problema é sguinte se eu coloco o form1 para abrir desta com ShowDialog quando coloco no evento resize para minimizar ele fecha o sistema.

    if (acesso.ShowDialog() == DialogResult.OK)
          {
            Form1 form = new Form1();
            form.usuario = acesso.txtLogin.Text;
            acesso.Hide();<br/>
             form1.ShowDialog();
          }
    

    Porém quando coloco o form1 para abrir com application.Run e adiciono o evento para minimizar no resize ele funciona normalmente.

    if (acesso.ShowDialog() == DialogResult.OK)
          {
            Form1 form = new Form1();
            form.usuario = acesso.txtLogin.Text;
            acesso.Close();
            Application.Run(form);
          }
    

    Vlw Galera

    Quebrei a cabeça tentando resolver este problem

    Very Good!

     

    sexta-feira, 14 de janeiro de 2011 09:36