Sunteți pe pagina 1din 4

29/09/2016

VB.NETIniciandonocontroleTimer

VB .NET Usando o Controle Timer

O componente Timer presente no VB.NET no igual ao timer das verses anteriores. No VB6 o
controle timer apresentava a seguinte peculiaridade:
Voc podia atribuir o valor zero propriedade Interval do controle para desativlo e isto
equivale a definir a sua propriedade enabled igual a False
Mas a propriedade enabled podia estar definida como True e ainda assim o controle ficaria
desativado se a propriedade Interval fosse definida como zero.
No VB.NET voc no pode mais atribuir o valor zero a propriedade Interval . Para ativar o
controle deve definir enabled = True.

Nota Outra alterao no VB.NET , ainda que no se refira diretamente ao controle Timer , so
as declaraes Date e Time ; estas declaraes foram substitudas pelas declaraes Today e
TimeOfDay.

O objetivo bsico do controle Timer permitir que o seu cdigo seja executado a um certo
intervalo com base em perodos de tempo. Se o controle estiver ativo ele ir acionar o evento
Tick a intervalos regulares que voc pode definir. Voc ento deve inserir o cdigo no evento
Tick para executar a operao que voc deseja que seja executada nos intervalos definidos.

O controle Timer no possui uma interface visvel em tempo de execuo somente em tempo de
desenho.

Resumo para usar o controle Timer :


Insira o controle no formulrio e configure as seguintes propriedades:
Enabled igual a True para ativar o controle
Atribua um valor a propriedade Interval (em milisegundos 1000 ms igual a 1s) que
deseja entre os eventos
Vamos a um exemplo prtico:

Inicie um novo projeto no VB.NET do tipo Windows Application


D ao projeto um nome sugestivo , algo como Relogio.
Insira um controle Label e altere sua propriedade Name para lblrelogio
Insira o controle Timer no formulrio.

Nota: Na verdade o controle no fica inserido no formulrio , mas numa rea separada abaixo
da do projeto , isto deixa deixa o formulrio mais limpo e no interfere na visualizao do
projeto do formulrio.

Defina a propriedade Enabled como True


Defina a propriedade Interval igual 1000
No evento Tick do controle Timer insira o
cdigo abaixo :
Private Sub Timer1_Tick(ByVal sender As
System.Object, ByVal e As System.EventArgs)
Handles timer1.Tick
file:///D:/VB.NET%20%20Iniciando%20no%20controle%20Timer.html

1/4

29/09/2016

VB.NETIniciandonocontroleTimer

lblrelogio.Text =
DateTime.Now.ToLongTimeString
End Sub

Executando o projeto o evento o cdigo do evento Tick do controle Timer ir ser executado a
cada 1 s , com isto a hora atual do seu micro ser exibida no controle :

A classe Timer esta presente no namespace System.Timers e podemos usar uma declarao
Import para criar um novo Timer :

Imports System.Timers
Dim t As New

System.Timers.Time()
Dim t as new Timer()

Podemos usar outro construtor que permite atribuir um valor para o nosso controle Timer:

Dim t As New
System.Timers.Timer(3000)

Assim como usamos o evento Tick do controle Timer podemos incluir um manipulador de eventos
ao controle Timer de maneira a receber as notificaes do controle :

AddHandler t.Elapsed, AddressOf DispararTimer

Public Sub DispararTimer(ByVal seder As Object, ByVal e


As System.Timers.ElapsedEventArgs)
' seu cdigo aqui
End Sub

Vejamos um exemplo:

Inicie um novo projeto no VB.NET do tipo Windows


Application

D ao projeto um nome sugestivo , algo como


Timer2
Insira dois controles Button e altere o nome padro
para : btnIniciar e btnParar
Insira um controle Label label1 com cor de fundo
amarelo e fonte Verdana 12 cor azul

Ao lado o layout do formulrio

Agora vamos ao cdigo :

file:///D:/VB.NET%20%20Iniciando%20no%20controle%20Timer.html

2/4

29/09/2016

VB.NETIniciandonocontroleTimer

No inicio do cdigo do formulrio vamos instanciar a varivel objeto tempo como do tipo Timer
iniciando o seu valor com 1000 ms ( igula 1 s)
Private tempo As New System.Timers.Timer(1000)
Agora no evento Load do formulrio vamos definir o evento que ir manipular o controle
Timer
AddHandler tempo.Elapsed, AddressOf DispararTimer
A seguir o cdigo da rotina que ir manipular o evento do controle Timer. A rotina ir atribuir o
valor da data e hora atual a Label que a exibir no formulrio.

Public Sub DispararTimer(ByVal sender As Object, ByVal e


As System.Timers.ElapsedEventArgs)
Label1.Text = e.SignalTime.ToString
End Sub

Para ativar a rotina o cdigo do boto Parar apenas define a propriedade enabled como
True. Para desativar basta definir enabled como False:

Private Sub btnIniciar_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles btnIniciar.Click
tempo.Enabled = True
End Sub
Private Sub btnParar_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnParar.Click
tempo.Enabled = False
End Sub

Executando o projeto e clicando no boto Iniciar teremos:

Como palavra final gostaria de lembrar que o controle Timer no faz trabalho simultneo. Se
voc usar dois controles Timers no formulrio e executlos ao mesmo tempo um Timer ir
trabalhar interrompendo o seu cdigo para uma nica tarefa.
Logo Timers no so adequados para tarefas de longa durao que requeiram execuo
simultneas.(Para isto use uma Thread)

At o prximo artigo VB.NET.


file:///D:/VB.NET%20%20Iniciando%20no%20controle%20Timer.html

3/4

29/09/2016

VB.NETIniciandonocontroleTimer

Veja os Destaques e novidades do SUPER DVD VB (sempre


atualizado) : clique e confira !
Quer migrar para o VB .NET ?
Veja mais sistemas completos para a plataforma .NET no
Super DVD .NET , confira...
Quer aprender C# ??
Chegou o Super DVD C# com exclusivo material de suporte e
vdeo aulas com curso bsico sobre C#.

Gostou ?

Referncias:

Compartilhe no Facebook

Compartilhe no Twitter

Seo VB .NET do Site Macoratti.net


Super DVD .NET A sua porta de entrada na plataforma .NET
Super DVD Vdeo Aulas Vdeo Aula sobre VB .NET, ASP .NET e C#
Seo C# do site Macoratti.net
Seo Visual Basic 6 do site Macoratti .net
Curso C# Basico Vdeo Aulas
Curso Visual Basic .NET Bsico Video Aulas
JosCarlosMacoratti

file:///D:/VB.NET%20%20Iniciando%20no%20controle%20Timer.html

4/4

S-ar putea să vă placă și