Timers Um timer é um objeto que dispara um evento depois de um período de tempo (configurável) ter passado. Há três classes Timer providas pelo Framework DotNet. Uma pertence ao namespace System.Threading, para uso com múltiplas threads; uma no namespace System.Timers para tarefas recorrentes baseadas em servidor; e uma no namespace System.Windows.Forms que é otimizada para o ambiente de processamento de uma única thread em um objeto Form. Nós estamos interessados no timer de Windows Forms. Esse objeto de timer é normalmente associado e configurado dentro de um form. Por exemplo, você pode criar um pequeno form slide show que mostrará cada foto em um álbum. Todo tipo de animação que é baseada em tempo pode ser criada utilizando timers. Vejamos algumas propriedades, métodos e eventos importantes de um timer: Enabled: propriedade que permite obter ou configurar se o timer está ativo ou não. Interval: propriedade que permite obter ou configurar se o tempo em milisegundos entre os ticks (veja logo abaixo o que é o evento tick) do timer. Start: método que faz o timer ligar. Stop: método que pára o timer. Tick: evento que ocorre quando o timer está habilitado e ligado e o intervalo especificado na propriedade Interval é atingido. O Timer é um componente, mas, não é um controle. Isso significa que ele não fica visível durante a execução do programa. Por isso ao incluí-lo no form ele aparece na Trilha de Componente abaixo do form. Observe a inclusão de um timer na figura 1. Em seguida vemos o código que foi criado para mostrar um relógio digital no form. Colocamos um label no form. Depois configuramos a propriedade Interval do timer para 1000 milisegundos (1 segundo), como pode ser visto na figura 2.
Então no evento Timer1_Tick (ao qual você pode ter acesso dando duplo-clique no timer) criamos um código que faz com que a cada 1 segundo a hora do sistema seja capturada e mostrada no label. Não podemos esquecer de ligar o timer. Isso foi feito no método construtor do Form1.
Figura 1. Inclusão de um timer no form
Figura 2. Configuração da propriedade Interval do timer using System; using System.Text; using System.Windows.Forms; namespace Timer { public partial class Form1 : Form { public Form1() { InitializeComponent(); timer1.Start(); }
Liga o Timer
private void timer1_Tick(object sender, EventArgs e) { System.DateTime hora = System.DateTime.Now;
} }
label1.Text = hora.Hour + ":" + hora.Minute + ":" + hora.Second; }
Obtém a hora Mostra a hora no label