2010-09-29 24 views
6

Estoy tratando de usar un control Timer en mi aplicación de consola.¿Cómo podemos utilizar el control del temporizador en la aplicación VB.Net Console?

Friend WithEvents XTIMER As System.Windows.Forms.Timer 

Estoy configurando todas sus propiedades. He establecido el intervalo en 15000 ms. Pero incluso cuando configuro el estado Habilitado del control del temporizador como verdadero, el evento tick no se activa. ¿Puede alguien ayudarme por favor?

+0

Mostrar algún código nos ayudaría a diagnosticar la causa. –

Respuesta

2

Uso del Timer Class

+0

@@ TODO, todo esto funciona bien en la aplicación de escritorio, pero no está funcionando en la aplicación de la plantilla. El evento tic no está disparando – Rajdeep

+0

Gracias ... Esto articuló me ayudó. Apreciar su ayuda – Rajdeep

+0

muy agradable escuchar eso .. –

1

Use System.Timers.Timer en su lugar. Aquí hay una muy buena comparison of the timer classes.

+0

También está el [WPF DispatcherTimer] (http://msdn.microsoft.com/en-gb/library/system.windows.threading.dispatchertimer (v = vs.110) .aspx). –

0

importación la referencia System.Windows.Forms y utilizar la clase Timer.

+2

@downvoter: ¿te importa comentar? Esta es una opción perfectamente legítima. El hecho de que importe la referencia System.Windows.Forms no lo convierte en una aplicación WinForms. Si, por ejemplo, quisiera usar la clase Point, ¿implementaría su propia implementación (como purista) o usaría una existente en System.Drawing? –

10
Module Module1 

    Sub Main() 
     aTimer.AutoReset = True 
     aTimer.Interval = 2000 '2 seconds 
     AddHandler aTimer.Elapsed, AddressOf tick 
     aTimer.Start() 
     Console.ReadKey() 
    End Sub 

    Dim aTimer As New System.Timers.Timer 

    Private Sub tick(ByVal sender As Object, ByVal e As System.Timers.ElapsedEventArgs) 
     Console.WriteLine("tick") 
    End Sub 

End Module 
+0

wow gracias. Me encanta la forma Console.ReadKey() de mantener viva la aplicación. –

+1

Personalmente prefiero usar 'Threading.Thread.Sleep (Threading.Timeout.Infinite)' para mantener la aplicación abierta porque no fuerza el uso de una ventana de comandos. –

+2

VB.NET le permite definir el temporizador con 'Dim WithEvents aTimer As New System.Timers.Timer', y agregar' Handles aTimer.Tick' al final de la definición 'Sub tick'. Entonces no necesita explícitamente 'AddHandler'. –

Cuestiones relacionadas