2014-02-27 91 views
0

我使用下面的代碼,因爲它只能與大於1的int值一起使用。如何將毫秒延遲添加到我的TimeSpan?

有沒有人有想法可以用millisecond價值甚至毫不拖延地改變它?或任何其他替代方法?

DispatcherTimer timer = new DispatcherTimer(); 
timer.Interval = new TimeSpan(0, 0, 0); 
timer.Tick += delegate 
{ 
    timer.Stop(); 
    // my image code generator 
    timer.Start(); 
}; 
timer.Start(); 
+3

即使你解決您的設置時間的問題,我不知道任何計時器的那分辨率低於15毫秒。你可能需要重新考慮你的架構。 –

+1

我認爲你正在尋找'while(true){...}'大聲笑 – cgTag

+0

@ProgrammerDan這是一個C#問題,而不是java問題。 –

回答

3

它具有該章節目標構造函數:

TimeSpan(Int32, Int32, Int32, Int32, Int32); 

所以:

new TimeSpan(0, 0, 0, 0, 1); 
+0

每1毫秒運行一次嗎?我應該把承包商放在哪裏? – BlueSky

+0

@BlueSky它將運行「與定時器最低分辨率一樣快」,這取決於實施和環境。 DispatchTimer使用Dispatch隊列,所以我期望最小分辨率至少爲* 15ms。 [MSDN只說](http://msdn.microsoft.com/en-us/library/system.windows.threading.dispatchertimer.interval(v = vs.110).aspx):「定時器不保證準確執行當時間間隔發生時,但他們保證不會在時間間隔發生之前執行。「 – user2864740