本篇內(nèi)容介紹了“如何理解C# Timer組件”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
成都創(chuàng)新互聯(lián)從2013年開始,先為樂東黎族等服務(wù)建站,樂東黎族等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為樂東黎族企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
C# Timer組件有很多值得學(xué)習(xí)的地方,這里我們主要介紹Visual C#做的一個(gè)窗體飄動(dòng)的程序,包括介紹這個(gè)程序的設(shè)計(jì)和運(yùn)行的環(huán)境。
C# Timer組件是也是一個(gè)WinForm組件了,和其他的WinForm組件的***區(qū)別是:C# Timer組件是不可見的,而其他大部分的組件都是都是可見的,可以設(shè)計(jì)的。C# Timer組件也被封裝在名稱空間System.Windows.Forms中,其主要作用是當(dāng)C# Timer組件啟動(dòng)后,每隔一個(gè)固定時(shí)間段,觸發(fā)相同的事件。C# Timer組件在程序設(shè)計(jì)中是一個(gè)比較常用的組件,雖然屬性、事件都很少,但在有些地方使用它會(huì)產(chǎn)生意想不到的效果。本文介紹的程序,是用Visual C#做的一個(gè)窗體飄動(dòng)的程序,這其中就大量的使用了C# Timer組件。
下面就來介紹一下,這個(gè)程序的設(shè)計(jì)和運(yùn)行的環(huán)境。
一.本文程序設(shè)計(jì)和運(yùn)行的軟件環(huán)境:
1 微軟公司視窗2000服務(wù)器版
2 .Net FrameWork SDK Beta 2
二.程序設(shè)計(jì)的思路以及關(guān)鍵步驟的解決方法:
其實(shí)要使得程序的窗體飄動(dòng)起來,其實(shí)思路是比較簡(jiǎn)單的。首先是當(dāng)加載窗體的時(shí)候,給窗體設(shè)定一個(gè)顯示的初始位置。然后通過在窗體中定義的二個(gè)C# Timer組件,其中一個(gè)叫Timer1,其作用是控制窗體從左往右飄動(dòng)(當(dāng)然如果你愿意,你也可以改為從上往下飄動(dòng),或者其他的飄動(dòng)方式。),另外一個(gè)Timer2是控制窗體從右往左飄動(dòng)(同樣你也可以改為其他飄動(dòng)方式)。當(dāng)然這二個(gè)C# Timer組件不能同時(shí)啟動(dòng),在本文的程序中,是先設(shè)定Timer1組件啟動(dòng)的,當(dāng)此Timer1啟動(dòng)后,每隔0.01秒,都會(huì)在觸發(fā)的事件中給窗體的左上角的橫坐標(biāo)都加上"1",這時(shí)我們看到的結(jié)果是窗體從左往右不斷移動(dòng),當(dāng)移動(dòng)到一定的位置后,Timer1停止。Timer2啟動(dòng),每隔0.01秒,在觸發(fā)定義的事件中給窗體的左上角的橫坐標(biāo)都減去"1",這時(shí)我們看到的結(jié)果是窗體從右往左不斷移動(dòng)。當(dāng)移動(dòng)到一定位置后,Timer1啟動(dòng),Timer2停止,如此反覆,這樣窗體也就飄動(dòng)起來了。要實(shí)現(xiàn)上述思路,必須解決好以下問題。
1.如何設(shè)定窗體的初始位置:
設(shè)定窗體的初始位置,是在事件Form1_Load()中進(jìn)行的。此事件是當(dāng)窗體加載的時(shí)候觸發(fā)的。Form有一個(gè)DesktopLocation屬性,這個(gè)屬性是設(shè)定窗體的左上角的二維位置。在程序中是通過Point結(jié)構(gòu)變量來設(shè)定此屬性的值,具體如下:
//設(shè)定窗體起初飄動(dòng)的位置,位置為屏幕的坐標(biāo)的(0,240) private void Form1_Load ( object sender , System.EventArgs e ) { Point p = new Point ( 0 , 240 ) ; this.DesktopLocation = p ; }
2.如何實(shí)現(xiàn)窗體從左往右飄動(dòng):
設(shè)定Timer1的Interval值為"10",就是當(dāng)Timer1啟動(dòng)后,每隔0.01秒觸發(fā)的事件是Timer1_Tick(),在這個(gè)事件中編寫給窗體左上角的橫坐標(biāo)不斷加"1"的代碼,就可以了,具體如下:
private void timer1_Tick(object sender, System.EventArgs e) { { //窗體的左上角橫坐標(biāo)隨著timer1不斷加一 Point p = new Point ( this.DesktopLocation.X + 1 , this.DesktopLocation.Y ) ; this.DesktopLocation = p ; if ( p.X == 550 ) { timer1.Enabled = false ; timer2.Enabled = true ; } }
3.如何實(shí)現(xiàn)窗體從右往左飄動(dòng):
代碼設(shè)計(jì)和從左往右飄動(dòng)差不多,主要的區(qū)別是減"1"而不是加"1"了,具體如下:
//當(dāng)窗體左上角位置的橫坐標(biāo)為-150時(shí),timer2停止,timer1啟動(dòng) private void timer2_Tick(object sender, System.EventArgs e) { file://窗體的左上角橫坐標(biāo)隨著timer2不斷減一 Point p = new Point ( this.DesktopLocation.X - 1 , this.DesktopLocation.Y ) ; this.DesktopLocation = p ; if ( p.X == - 150 ) { timer1.Enabled = true ; timer2.Enabled = false ; } }
“如何理解C# Timer組件”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!
分享名稱:如何理解C#Timer組件
本文網(wǎng)址:http://jinyejixie.com/article40/jdojho.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、全網(wǎng)營(yíng)銷推廣、網(wǎng)站維護(hù)、做網(wǎng)站、Google、搜索引擎優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)