2011-10-29 24 views
1

我有我的C++項目,我想要一個事件在我的窗體加載後40秒開始。我知道C++中有一個計時器,但它只顯示間隔。如何爲我的C++項目添加計時器?

我正在使用Visual Studio 2008.我正在創建一個Windows窗體應用程序。你們知道我有什麼功能嗎?

+3

那麼,使用一個計時器。設置它40秒。在應用程序啓動時啓動它。定時器事件觸發時,銷燬計時器。 –

回答

3

使用40秒的時間間隔設置定時器,並在第一次觸發時刪除定時器。

+0

但定時器的間隔不在秒。我的程序在這裏運行System :: Void timer1_Tick(System :: Object^sender,System :: EventArgs^e) – Giuseppe

+0

@Giuseppe間隔的毫秒數,只需將你的秒數乘以1000即可。持續40秒:'40 * 1000'。 – AusCBloke

+0

@ AusCBloke:我剛剛得到了最後一個問題,如果我在那段時間內運行了所有的代碼,但是我希望在那個特定時間發生某些事情。我該怎麼辦 ?。 PD.Sorry回合我的語法,我不是說英語的人。 – Giuseppe

1

你在說什麼.NET Timer?爲什麼它不適合你?該鏈接提供了一些示例(假設這就是你正在談論的內容),然後在它關閉之後,您可以將其處理掉,以便事件不會多次啓動。

編輯:間隔時間以毫秒爲單位,所以只需將秒數乘以1000.即爲40秒,即40 * 1000 = 40000

EDIT2:根據您的其他評論,在我提供的鏈接的底部是一個C++的例子。對Main中的計時器,TimerEventProcessor設置爲EventHandler,並在計時器「啓動」時運行(Visual Studio在爲表單添加Timer控件時可能已經爲您設置了該值)。由於您只希望定時器運行一次,而您不需要其提供的其他功能,因此我會簡單地選擇使用以前建議的線程:

您也可以簡單地使用另一個線程,它調用sleep等待40秒,然後開始你的「事件」。

+0

謝謝:)我現在明白了。 – Giuseppe

+1

@Giuseppe,如果你發現你在SO上提出的問題得到解答,請將它們標記爲:即。 Sylence或我的答案取決於你認爲哪一個以最有幫助的方式回答了你的問題。 – AusCBloke

相關問題