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