none
Como posso fazer voltar o meu Form ? C# RRS feed

  • Pergunta

  • Olá Galera, eu fiz um código para aumentar a tela(Form) assim que eu clicar em um botão, vale ressaltar que usei um TIMER, porém, não estou conseguindo fazer com que a mesma volte ao seu estado original.... Dúvida cruel aqui... hehe

    Segue o código:

    //Declarando as variáveis:
            int tamanhoAnterior = 227;
            bool aumentando = false;
            //Método do Button1:
            private void button1_Click(object sender, EventArgs e){
    
                
                //Informando que aumentando é diferente pra início de aumentando:
                aumentando = !aumentando;
    
                if (aumentando)
                {
    
                    tamanhoAnterior = this.Height;
                    this.timer1.Start();
                    button1.Text = "Ocultar detalhes";
    
                }
    
    
    
            private void timer1_Tick(object sender, EventArgs e)
            {
    
                
                if (this.Height >= 390 && aumentando){
                    this.timer1.Stop();
                    //return;
    
                }
    
                if (this.Height <= tamanhoAnterior && !aumentando){
                    
                    this.timer1.Stop();
                    //return;
    
                }
    
                if (aumentando){
    
                    this.Height += 12;
    
                }else{
    
                    this.Height -= 12;
                    //this.Height = tamanhoAnterior;
                
                }
            
    

    Quero fazer com que quando eu clicar novamente no botão ele retorne a tela ao seu tamanho que estava antes, E Agora José ?

    domingo, 8 de março de 2015 20:41

Respostas

  • Olá!
    Tente desta forma:

    Desabilite o Timer. Use um "CheckBox1" creio que será bem melhor

    Ex:

    private void checkBox1_CheckedChanged(System.Object sender, System.EventArgs e)
    {
        int tamanhoAnterior = 227;
        bool aumentando = false;

        if (checkBox1.Checked) {
            //Insira o código para aumentar o Form

        } else {
            //Insira o código para diminuir o Form
        }

    }

    Informe o tamanho desejado, creio que dá para simplificar ainda mais

    Width = "Valor"

    Height = "valor"

    Espero ter lhe ajudado.


    MS INFORMATICA




    segunda-feira, 9 de março de 2015 00:56
  • O Jeito mais facil é como nossos amigo a cima comentaram, fiz algumas alterações para mostrar utilizando suas variaveis.

    int TamanhoAnterior = 277
    private void checkBox1_CheckedChanged(object sender,EventArgs e)
    {   
         if (checkBox1.Checked) //Se Aumentar
         {
             this.Height = TamanhoAnterior + 12;
         }
         else
         {
             this.Height = TamanhoAnterior;
          }
     }
     


    segunda-feira, 9 de março de 2015 02:18

Todas as Respostas

  • Olá!
    Tente desta forma:

    Desabilite o Timer. Use um "CheckBox1" creio que será bem melhor

    Ex:

    private void checkBox1_CheckedChanged(System.Object sender, System.EventArgs e)
    {
        int tamanhoAnterior = 227;
        bool aumentando = false;

        if (checkBox1.Checked) {
            //Insira o código para aumentar o Form

        } else {
            //Insira o código para diminuir o Form
        }

    }

    Informe o tamanho desejado, creio que dá para simplificar ainda mais

    Width = "Valor"

    Height = "valor"

    Espero ter lhe ajudado.


    MS INFORMATICA




    segunda-feira, 9 de março de 2015 00:56
  • Aqui está um exemplo muito prático!
    Com o "Checkbox" podemos ter dois eventos para executar, no seu caso, com o "Form"

    Os valores são só exemplo:

    private void checkBox1_CheckedChanged(object sender, EventArgs e)

            {

               

                if (checkBox1.Checked)

                {

                    this.Height = 400;

                    this.Width = 400;

     

     

                }

                else

                {

                    this.Height = 700;

                    this.Width = 700;

                }

            }

        }

    }


    MS INFORMATICA

    segunda-feira, 9 de março de 2015 01:33
  • O Jeito mais facil é como nossos amigo a cima comentaram, fiz algumas alterações para mostrar utilizando suas variaveis.

    int TamanhoAnterior = 277
    private void checkBox1_CheckedChanged(object sender,EventArgs e)
    {   
         if (checkBox1.Checked) //Se Aumentar
         {
             this.Height = TamanhoAnterior + 12;
         }
         else
         {
             this.Height = TamanhoAnterior;
          }
     }
     


    segunda-feira, 9 de março de 2015 02:18
  • O Jeito mais facil é como nossos amigo a cima comentaram, fiz algumas alterações para mostrar utilizando suas variaveis.

    int TamanhoAnterior = 277
    private void checkBox1_CheckedChanged(object sender,EventArgs e)
    {   
         if (checkBox1.Checked) //Se Aumentar
         {
             this.Height = TamanhoAnterior + 12;
         }
         else
         {
             this.Height = TamanhoAnterior;
          }
     }
     


    Isso, aí, amigo Bertoncini! Aí, nós eliminamos o objeto "Timer" Para voltar a usar um "Timer" teríamos que criar um outro código este "dominaria" o "Timer" - Se o amigo inquiridor do Tópico não fechar o mesmo, que creio que já dá para ele resolver sua questão em pauta. Então, mais tarde deixo um código aqui com o Timer que ele usa.

    Abraço.


    MS INFORMATICA

    segunda-feira, 9 de março de 2015 12:15