2010-12-28 10 views
3

私はSystem.Windows.Forms.Timerが1000ミリ秒間隔であるとします。System.Windows.Forms.TimerクラスでStart()を2回呼び出すとどうなりますか?

Timer.Start()メソッドに電話して、500 ms後にもう一度Timer.Start()と呼ぶとどうなりますか? 2番目のStartコールは間隔をリセットするかどうかを確認します。副作用はありますか?

+3

さて、試してみて、どうなるか見てみましょう。 –

答えて

8

タイマーはすでに開始されているため、2回目の呼び出しは影響を受けません。

これにかかわらず、easyをテストします。

+0

副作用はありますか? – Drake

+1

"easy"を太字で書くことができます:) –

+0

@Drake - など? 'Start'を呼び出すことは、' Enabled'を 'true'に設定することと同じです。 – Oded

2

Start()は、Enabledプロパティをtrueに設定するだけです。 Enabledプロパティがすでにtrueに設定されている場合、Enabledをtrueに設定し直してそのまま継続します。

同様に、Stop()はEnabledをfalseに設定します。 uが開始した後に何も影響しません第2の起動を返す入力した場合それは何も影響はありません

2

...

は、このコード

class TimerTest 
{ 
    static int i = 0; 
    static void Tick(object sender, EventArgs e) 
    { 

     Console.WriteLine(i); 
     i++; 
    } 
    static void Main() 
    { 
     // interval = 500ms 
     Timer tmr = new Timer(); 
     tmr.Interval = 500; 
     tmr.Elapsed += Tick; 
     tmr.Start(); 
     Console.ReadLine(); 
     tmr.Start(); 
     Console.ReadLine(); 
     tmr.Stop(); 
     Console.ReadLine(); 
     tmr.Start(); 
     Console.ReadLine(); 
     tmr.Dispose(); // This both stops the timer and cleans up. 
    } 
} 

を参照してください。

関連する問題