none
timer.Tick em um botton RRS feed

  • Pergunta

  • Boa tarde.

    Preciso colocar um Timer.Tick em um button para que de tempos em tempos este button seja acionado automaticamente, como faço isso..

    Obrigado.


    JUNIOR GUERREIRO T.I

    sexta-feira, 6 de janeiro de 2017 15:39

Respostas

Todas as Respostas

  • Boa tarde Junior Guerreiro,

    Você pode colocar a chamada do Timer.Tick no click do botão!

            private void button1_Click(object sender, EventArgs e)
            {
                _timer.Start();
                _timer.Interval = 10000;
                _timer.Tick += Timer_Tick;
            }


    Se ajudei Vote como Útil, se resolvi seu problema clique em Marcar como Resposta.


    Daniel Ribeiro Arrais
    Consultor Sênior
    Site: www.danielarrais.com.br
    Linkedin: http://www.linkedin.com/in/danielarrais
    E-mail: arraishapkido@gmail.com
    Skype: dani.arrais

    sexta-feira, 6 de janeiro de 2017 15:44
  • Olá Junior,

    Se você quer automatizar a tarefa que um botão faz, recomendo separar esse código em um outro método e aí sim utilizar o timer. Dessa forma:

    Timer timer1 = new Timer();
    timer1.Tick += Timer_Tick;
    timer1.Interval = 10000;
    
    public void SeuMetodo()
    {
       // Implemente o que o botão tem que fazer
    }
    
    private void button1_Click(object sender, EventArgs e)
    {
       SeuMetodo();
    }
    
    private void Timer1_Tick(object Sender, EventArgs e)
    {
       SeuMetodo();
    }


    Após isso, só fica faltando definir em que momento quer que esse timer comece a ser executado. Para iniciar o timer, use o seguinte código:

    timer1.Start();

    E para pará-lo:

    timer1.Stop();

    Valeu!


    Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!

    André Secco
    Microsoft MVP & MSDN Tech Advisor
    Blog: http://andresecco.com.br
    GitHub: http://github.com/andreluizsecco
    Twitter: @andre_secco

    sexta-feira, 6 de janeiro de 2017 17:21
  • Andre desculpe minha igonorancia, ma não sei como se cria um metodo.

    Metodo e o mesmo que uma classe?

    Como fazer, pode me explicar.


    JUNIOR GUERREIRO T.I

    sexta-feira, 6 de janeiro de 2017 19:28
  • Olá Junior você fez o teste com o código que mencionei acima?

    Se ajudei Vote como Útil, se resolvi seu problema clique em Marcar como Resposta.


    Daniel Ribeiro Arrais
    Consultor Sênior
    Site: www.danielarrais.com.br
    Linkedin: http://www.linkedin.com/in/danielarrais
    E-mail: arraishapkido@gmail.com
    Skype: dani.arrais

    sábado, 7 de janeiro de 2017 14:09
  • Pelo visto, acredito que vale uma leitura sobre conceitos básicos de programação. Segue sobre métodos: https://msdn.microsoft.com/pt-br/library/ms173114.aspx

    No código que postei acima, o método a ser criado que me referi, é esse aqui e basta colocá-lo dentro de uma classe:

    public void SeuMetodo()
    {
       // Implemente o que o botão tem que fazer
    }


    Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!

    André Secco
    Microsoft MVP & MSDN Tech Advisor
    Blog: http://andresecco.com.br
    GitHub: http://github.com/andreluizsecco
    Twitter: @andre_secco

    sábado, 7 de janeiro de 2017 15:40
  • Fiz sim Daniel, mas nao deu certo ele atualiza mas nao troca de formulario fica sempre no mesmo formulario

    O problema que o timer da atualização ele ativa na inicialização do codigo, depois ele nao passa maos pela atualização do codigo


    JUNIOR GUERREIRO T.I

    sábado, 7 de janeiro de 2017 17:20
  • Gostaria de saber se e possivel usar 2 timer.tick no mesmo form.

    Ex. tenho um form que tem um grafico e este grafico e atualizado de 10 em 10 minutos. Agora no mesmo formulario preciso colocar outro timer que de 30 em 30 minutos chamo outro form2.

    É possível dois timers.tick no mesmo form com funçoes diferentes?


    JUNIOR GUERREIRO T.I

    domingo, 8 de janeiro de 2017 01:20
  • Ok agora esta tudo funcionando muito obrigado pela ajuda.

    JUNIOR GUERREIRO T.I

    domingo, 8 de janeiro de 2017 13:09