2010-09-29 30 views
6

Sto cercando di utilizzare un controllo Timer nella mia applicazione console.Come utilizzare il controllo del timer nell'applicazione console VB.Net?

Friend WithEvents XTIMER As System.Windows.Forms.Timer 

Sto impostando tutte le sue proprietà. Ho impostato l'intervallo su 15000 ms. Ma anche quando imposto lo stato Enabled del controllo timer su true, l'evento tick non si attiva. Qualcuno mi può aiutare per favore?

+0

La visualizzazione di un codice potrebbe aiutarci a diagnosticare la causa. –

risposta

2

Utilizzare il Timer Class

+0

@@ A TUTTI, tutti questi funzionano bene nell'applicazione Desktop ma non funzionano nell'applicazione onsole.L'evento tick non si attiva – Rajdeep

+0

Grazie ... Questo articolo mi ha aiutato. Apprezzare il tuo aiuto – Rajdeep

+0

molto bello sentire che .. –

1

Utilizzare invece System.Timers.Timer. Ecco un ottimo comparison of the timer classes.

+0

C'è anche il [WPF DispatcherTimer] (http://msdn.microsoft.com/en-gb/library/system.windows.threading.dispatchertimer (v = vs.110) .aspx). –

0

Importa il riferimento System.Windows.Forms e utilizzare la classe Timer.

+2

@downvoter: cura di commentare? Questa è un'opzione perfettamente legittima. Il fatto che importi il ​​riferimento System.Windows.Forms non lo rende un'app WinForms. Se, ad esempio, si desidera utilizzare la classe Point, si distribuisce la propria implementazione (come purista) o si utilizza uno esistente in 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 grazie. Adoro il modo Console.ReadKey() per mantenere viva l'app. –

+1

Personalmente preferisco usare 'Threading.Thread.Sleep (Threading.Timeout.Infinite)' per mantenere l'app aperta perché non impone l'uso di una finestra di comando. –

+2

VB.NET consente di definire il timer con 'Dim WithEvents aTimer As New System.Timers.Timer' e aggiungere' Handles aTimer.Tick' alla fine della definizione 'Sottotitolatura'. Quindi non è necessario esplicitamente "AddHandler". –

Problemi correlati