Usuário com melhor resposta
Contagem Regressiva ?

Pergunta
-
Olá, preciso fazer o seguinte.
Assim que iniciar o Form, o label vai estar em 10 e ja vai estar caindo para 9, 8 , 7, 6 , 5 .... e quando chegar em 0 a aplicação vai dar um Application.Exit() para sair por completa.
Resumindo: Contagem regressiva do 10 até 0 e fechar a aplicação por completo.
Respostas
-
Olá,
Você pode usar um timer para isso:
Crie uma variável global para controlar os segundos:
Dim contSegundos As Integer = 10
Aqui é onde irá criar e startar o timer (pode colocar ela dentro de um botão ou ao iniciar o form):
Dim timer1 As Timer = New Timer timer1.Interval = 1000 AddHandler timer1.Tick, AddressOf Me.Timer1_Tick timer1.Start
E aqui a função que é chamada após o timer terminar a contagem (segundo a segundo):
Private Sub Timer1_Tick(ByVal Sender As Object, ByVal e As EventArgs) contSegundos = (contSegundos - 1) label.Text = contSegundos.ToString If (contSegundos = 0) Then Application.Exit End If End Sub
Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!
André Secco
Microsoft MSP & MSDN Tech Advisor
Blog: http://andresecco.com.br
GitHub: http://github.com/andreluizsecco
Twitter: @andre_secco
- Editado André SeccoMVP segunda-feira, 17 de outubro de 2016 17:04
- Marcado como Resposta Robson William SilvaModerator terça-feira, 18 de outubro de 2016 12:14
-
Olá,
Você pode usar um timer para isso:
Crie uma variável global para controlar os segundos:
Dim contSegundos As Integer = 10
Aqui é onde irá criar e startar o timer (pode colocar ela dentro de um botão ou ao iniciar o form):
Dim timer1 As Timer = New Timer timer1.Interval = 1000 AddHandler timer1.Tick, AddressOf Me.Timer1_Tick timer1.Start
E aqui a função que é chamada após o timer terminar a contagem (segundo a segundo):
Private Sub Timer1_Tick(ByVal Sender As Object, ByVal e As EventArgs) contSegundos = (contSegundos - 1) label.Text = contSegundos.ToString If (contSegundos = 0) Then Application.Exit End If End Sub
Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!
André Secco
Microsoft MSP & MSDN Tech Advisor
Blog: http://andresecco.com.br
GitHub: http://github.com/andreluizsecco
Twitter: @andre_secco
Obrigado serio msm só tive que mudar o count para countSegundos, mas funcionou perfeitamente ;)
A quando da debug e finaliza a aplicação pelo contador aparece isso:
Mas quando eu abro o .exe pela pasta normal ja , ele não apresenta nenhuma alteração.
Thanks ;)
- Marcado como Resposta s1nkles terça-feira, 18 de outubro de 2016 13:07
Todas as Respostas
-
De uma olhda nessa soluçao:
http://vbcity.com/blogs/xtab/archive/2011/10/06/how-to-display-a-countdown-timer.aspx
Creio que va te servir de inspiraçao.
William John Adam Trindade
Analyste-programmeur
----------------------------------------------------------
-
Seguem os passos:
- Crie uma variável int na sua classe do form e inicialize seu valor em 10;
- Arraste um componente Timer para o seu form e configure o interval para 1000 milissegundos;
- No evento Load do form você habilita o Timer para que ele comece a contar (timer1.Enabled = true);
- Ainda no evento Load você altera o texto do Label para o valor da variável criada acima;
- No evento Tick do Timer você subtrai 1 na sua variável e altera o texto do Label para o novo valor da variável;
- E por último, ainda no evento Tick você verifica se a variável é igual a zero, caso sim você finaliza a aplicação.
If you found this post helpful, please "Vote as Helpful". If it actually answered your question, remember to "Mark as Answer". Se achou este post útil, por favor clique em "Votar como útil". Se por um acaso respondeu sua dúvida, lembre de "Marcar como Resposta".
-
Olá,
Você pode usar um timer para isso:
Crie uma variável global para controlar os segundos:
Dim contSegundos As Integer = 10
Aqui é onde irá criar e startar o timer (pode colocar ela dentro de um botão ou ao iniciar o form):
Dim timer1 As Timer = New Timer timer1.Interval = 1000 AddHandler timer1.Tick, AddressOf Me.Timer1_Tick timer1.Start
E aqui a função que é chamada após o timer terminar a contagem (segundo a segundo):
Private Sub Timer1_Tick(ByVal Sender As Object, ByVal e As EventArgs) contSegundos = (contSegundos - 1) label.Text = contSegundos.ToString If (contSegundos = 0) Then Application.Exit End If End Sub
Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!
André Secco
Microsoft MSP & MSDN Tech Advisor
Blog: http://andresecco.com.br
GitHub: http://github.com/andreluizsecco
Twitter: @andre_secco
- Editado André SeccoMVP segunda-feira, 17 de outubro de 2016 17:04
- Marcado como Resposta Robson William SilvaModerator terça-feira, 18 de outubro de 2016 12:14
-
contSegundos = (contSegundos - 1) label.Text = contSegundos.ToString If (cont = 0) Then Application.Exit End If
Name "cont" is not declared
Corrigido !
If (contSegundos = 0) Then ??
- Editado s1nkles segunda-feira, 17 de outubro de 2016 17:04
-
Realmente, esqueci de mudar, já atualizei a resposta anterior, o correto ao invés de cont é contSegundos
Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!
André Secco
Microsoft MSP & MSDN Tech Advisor
Blog: http://andresecco.com.br
GitHub: http://github.com/andreluizsecco
Twitter: @andre_secco -
Olá,
Você pode usar um timer para isso:
Crie uma variável global para controlar os segundos:
Dim contSegundos As Integer = 10
Aqui é onde irá criar e startar o timer (pode colocar ela dentro de um botão ou ao iniciar o form):
Dim timer1 As Timer = New Timer timer1.Interval = 1000 AddHandler timer1.Tick, AddressOf Me.Timer1_Tick timer1.Start
E aqui a função que é chamada após o timer terminar a contagem (segundo a segundo):
Private Sub Timer1_Tick(ByVal Sender As Object, ByVal e As EventArgs) contSegundos = (contSegundos - 1) label.Text = contSegundos.ToString If (contSegundos = 0) Then Application.Exit End If End Sub
Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!
André Secco
Microsoft MSP & MSDN Tech Advisor
Blog: http://andresecco.com.br
GitHub: http://github.com/andreluizsecco
Twitter: @andre_secco
Obrigado serio msm só tive que mudar o count para countSegundos, mas funcionou perfeitamente ;)
A quando da debug e finaliza a aplicação pelo contador aparece isso:
Mas quando eu abro o .exe pela pasta normal ja , ele não apresenta nenhuma alteração.
Thanks ;)
- Marcado como Resposta s1nkles terça-feira, 18 de outubro de 2016 13:07
-
Se resolveu seu problema, marque como resposta, afim de ajudar outras pessoas com a mesma dúvida a identificar rapidamente a solução.
Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!
André Secco
Microsoft MSP & MSDN Tech Advisor
Blog: http://andresecco.com.br
GitHub: http://github.com/andreluizsecco
Twitter: @andre_secco