2017-08-02 10 views
0

私はvb.net .net 4.0アプリケーションを作成していますが、タイマー時間が経過するのに問題があります。誰かが私が間違っていることを教えてもらえますか?WindowsサービスまたはコンソールアプリケーションのSystem.Timers.Timer

私は主なアプリケーションのトラブルシューティングをして、新しいプロジェクトで動作させることにしましたが、これを動作させることができません。

ありがとうございます!

Module Module1 

Public Timer As New System.Timers.Timer 

Sub Main() 


    AddHandler Timer.Elapsed, AddressOf Timer_Tick 
    Timer.AutoReset = True 
    Timer.Interval = 1000 
    Timer.Start() 



    Console.WriteLine("Timer Started") 


End Sub 

Sub Timer_Tick(source As Object, e As EventArgs) 
    Console.WriteLine("TimerTick") 
End Sub 
End Module 
+0

そのコードが実行され、コンソールウィンドウをほぼ瞬間的に閉じると、タイマーは決して刻む機会がありません。メイン()サブの最後の行として「Do Until(Console.ReadKey.Key = ConsoleKey.Escape):Loop」を追加すると、タイマーが目盛りをつけて、期待通りに書き込むチャンスが得られます。 – soohoonigan

答えて

0

あなたはMain()が稼働し続けるか、あなたのプロセスは直ちに終了しますことを確認する必要があります。

Console.ReadLine()(コンソールがある場合)またはThread.Sleep(Timeout.Infinite)を使用できます。

+0

'スレッド。 Sleep(Timeout.Infinite) 'vb.netで動作するようには表示されません、と私はこれまでWindowsサービスでこれを行う必要はなかった... – GaryO

関連する問題