使用timer控件创建一个简单的报警程序
簡介:
??? 當我使用計算機工作時,我總是如此的專心致志,以至于每當我過了“一會兒”去看時間時,發現已經過了三個小時,而我卻完全沒有意識到!所以我決定使用我從Code Project學來的C#技術,來創建一個簡單的應用程序—使用Timer 對象來倒計時一個由我自己設定的時間,并一直循環播放一段wave音樂,直到你重設timer控件。
?
Timer對象基礎
?????? 首先你要知道的是,使用Timer對象你需要訪問如下命名空間:
?????? 接下來,介紹一下創建一個Timer的要點以及為這個timer對象的Elapsed事件設定事件委派。
?????? 先創建一個Timer對象,這里我定義我使用的timer為timerClock。接下來設定Elapsed事件委派,當事件被觸發時,指定的委派將被調用,這里我定義我使用的委派名稱為OnTimer()。
?????? 接著,設定Interval屬性,使用毫秒數值指示希望Elapsed事件被調用的間隔,這意味著,當我定義Interval屬性為1000毫秒時,我定義的委派OnTimer()將每隔1000毫秒被調用一次,或者說是每隔1秒。
?????? 最后,需要設定Enabled屬性為true,以使這個timer對象開始工作。接下來,剩下的只是一個小問題—創建一個委派,在這個timer對象的Elapsed屬性被觸發時調用。如果你以前沒有使用過委派,不用擔心,它們很容易使用,只需要創建一個方法,用來接收適合你捕獲事件的一些變量。
?????? 針對Elapsed事件,這個委派需要接收一個普通對象和一個ElapsedEventArgs對象。
?
在報警程序中使用Timer控件
?????? 好的,介紹了這些基礎,現在,我們來看在實際應用中的代碼。注意,這里并不包括播放wave音樂和顯示最小化圖標的代碼,完整的代碼你可以在那個demo項目中看到,基本上我是直接從jow Blow撰寫的《Low level audio players》中粘貼的播放wave的代碼。
?????? 在下面的代碼中,你可以看到,我將實例化Timer對象的方法放在我自己的初始化方法InitializeTimer()中,這個方法將被類構造調用。并且我創建了兩個方法,inputToSeconds()和secondsToTime()用來將字符串格式的時間格式轉換為正型,以及一個反處理過程。這些方法只是用來幫助我們在TextBox控件中顯示日期格式,這在整個應用的結構中,并不十分重要。其他的那些代碼,是標準的Visual Studio.NET為Win Form程序生成的樣板文件。
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
代碼參考
實際的執行代碼比上面的要多,但demo中關于播放wave音頻的代碼是取自Ianier Munoz關于A low-level audio player in C#一文,順便一提,Ianier Munoz編寫的播放wave的這個類十分便于使用和重用。
?
總結
????這個應用程序演示了timer在實際環境中的一個簡單應用,僅僅使用了一些簡單的基礎知識來創建一個簡單的應用,我希望在我之后有人能給出它的更多更好的用法。
http://www.codeproject.com/csharp/timeralarm.asp
?
轉載于:https://www.cnblogs.com/Athrun/archive/2007/07/19/824539.html
總結
以上是生活随笔為你收集整理的使用timer控件创建一个简单的报警程序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mingw linux c 开发环境,M
- 下一篇: 二、穷举搜索法