/
Inicio :: Foros

 F.A.Q.F.A.Q.                  Conéctese para revisar sus mensajesConéctese para revisar sus mensajes   

Timer en visual studio.net

 
      Índice del Foro elrincondelc.com -> Visual Basic
Ver tema anterior :: Ver siguiente tema  
AutorMensaje
rumy



Registrado: 31 Mar 2007
Mensajes: 5

MensajePublicado: 07/07/2007 9:38 pm
Título: Timer en visual studio.net

Hola

Como se usa el Timer, necesito el código quiero hacer un reloj que tenga un tiempo de 900000 milisegundos (15 minutos) tiene que ir retrocediendo hasta que sea 0 y luego realizo otro evento pero no se como se va el código (la sintaxis), lo he buscado montón pero no sale así tan especifico solo pedazos



Saludos

Rumy
Volver arriba
runmusic



Registrado: 30 Dic 2007
Mensajes: 20

MensajePublicado: 30/12/2007 3:03 am
Título:

* El evento que debes usar en el Timer es el Tick y con Interval decides cuantos milisegundos pasan entre dos eventos. Si no te interesa que siga ejecutandose, se desactiva poniendo la propiedad Enabled a False.
* Para añadir/quitar segundos,minutos,horas,... a una variable de tipo Date usas los métodos AddSeconds, AddMinutes...
* Para simular eventos -por ej: hacerle creer al VB que has pulsado un botón-, se usa el Call -esto tambien funcionaba en VB6 Wink -. Usando Sender.Name podrás saber desde donde se hizo esa llamada.

Ahi tienes un ejemplo:
Código:

'-------------------------------------
' frmCuentaAtras -> Formulario
' tmrCuentaAtras -> Timer
' lblGameOver ; lblBomba -> Etiquetas
' btnPruebas -> Boton
'-------------------------------------
Public Class frmCuentaAtras
    Dim dtBomba As Date = #12:15:00 AM#
    '/********* EVENTOS DEL FORMULARIO ***************/
    Private Sub frmCuentaAtras_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        lblBomba.Text = Format(dtBomba, "mm:ss")
    End Sub

    '/********* EVENTOS DEL TIMER ***************/
    Private Sub tmrCuentaAtras_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tmrCuentaAtras.Tick
        dtBomba = dtBomba.AddSeconds(-1) 'un segundo menos
        lblBomba.Text = Format(dtBomba, "mm:ss") 'cambia la etiqueta
        REM -- se acabo el tiempo
        If Format(dtBomba, "mm:ss") = "00:00" Then
            With lblGameOver
                .Text = "GAME OVER" 'esto dispara un evento textchanged
                .ForeColor = Color.Red
            End With
        End If
    End Sub

    '/********* EVENTOS DE LAS ETIQUETAS ***************/
    Private Sub lblGameOver_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles lblGameOver.TextChanged
        lblGameOver.Visible = True 'muestra la etiqueta...
        tmrCuentaAtras.Enabled = False '... y desactiva el timer
        'dispara un evento button_click sin pulsar el boton
        Call btnPruebas_Click(lblGameOver, e)
    End Sub

    '/********* EVENTOS DEL BOTON ***************/
    Private Sub btnPruebas_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPruebas.Click
        'comprueba si se hizo click en el boton o no (= se le llamó con Call)
        If sender.name <> btnPruebas.Name Then
            btnPruebas.Text = sender.text
        Else
            btnPruebas.Text = lblBomba.Text
        End If
    End Sub
End Class

_________________
Volver arriba
      Índice del Foro elrincondelc.com -> Visual Basic
Página 1 de 1Todas las horas están en GMT - 8 Horas

 
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas

(c) ElRincondelC.com

Un proyecto de UrlanHeat.com