自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

C# Timer組件簡單介紹

開發(fā) 后端
這里介紹C# Timer組件也被封裝在名稱空間System.Windows.Forms中,其主要作用是當(dāng)C# Timer組件啟動(dòng)后,每隔一個(gè)固定時(shí)間段,觸發(fā)相同的事件。

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í)思路是比較簡單的。首先是當(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è)定此屬性的值,具體如下:

  1. //設(shè)定窗體起初飄動(dòng)的位置,位置為屏幕的坐標(biāo)的(0,240)  
  2. private void Form1_Load ( object sender , System.EventArgs e )  
  3. {  
  4. Point p = new Point ( 0 , 240 ) ;  
  5. 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"的代碼,就可以了,具體如下:

  1. private void timer1_Tick(object sender, System.EventArgs e)  
  2. {  
  3. { //窗體的左上角橫坐標(biāo)隨著timer1不斷加一  
  4. Point p = new Point ( this.DesktopLocation.X + 1 , this.DesktopLocation.Y ) ;  
  5. this.DesktopLocation = p ;  
  6. if ( p.X == 550 )  
  7. {  
  8. timer1.Enabled = false ;  
  9. timer2.Enabled = true ;  
  10. }  

3.如何實(shí)現(xiàn)窗體從右往左飄動(dòng):

代碼設(shè)計(jì)和從左往右飄動(dòng)差不多,主要的區(qū)別是減"1"而不是加"1"了,具體如下:

  1. //當(dāng)窗體左上角位置的橫坐標(biāo)為-150時(shí),timer2停止,timer1啟動(dòng)  
  2. private void timer2_Tick(object sender, System.EventArgs e)  
  3. { file://窗體的左上角橫坐標(biāo)隨著timer2不斷減一  
  4. Point p = new Point ( this.DesktopLocation.X - 1 , this.DesktopLocation.Y ) ;  
  5. this.DesktopLocation = p ;  
  6. if ( p.X == - 150 )  
  7. {  
  8. timer1.Enabled = true ;  
  9. timer2.Enabled = false ;  
  10. }  

【編輯推薦】

  1. C#編程實(shí)現(xiàn)顯示XML文件
  2. C#語言獲取要顯示頁面
  3. 創(chuàng)建C# Windows窗體應(yīng)用程序淺析
  4. C#實(shí)現(xiàn)窗體顯示背景知識
  5. C# Lazy-Allocate設(shè)計(jì)概念
責(zé)任編輯:佚名 來源: IT168
相關(guān)推薦

2009-06-18 10:27:42

Spring Time

2009-08-07 17:41:40

C#預(yù)處理

2009-08-27 10:19:22

C#匿名類型

2009-08-06 14:53:41

C# User類

2009-08-10 16:19:37

C#冒泡排序

2009-08-14 17:27:56

C#方法參數(shù)

2009-08-18 17:37:57

C#固定指針

2009-08-21 17:55:52

C#復(fù)合控件

2009-09-01 16:19:57

C# new()約束

2009-08-03 17:51:43

C#引用類型

2009-08-06 18:15:13

C# SQL Serv

2009-08-07 17:12:07

C# DLL函數(shù)

2009-08-13 17:36:54

編譯C#代碼

2009-08-14 16:46:44

C#元數(shù)據(jù)

2009-08-20 16:25:59

C# 匿名方法

2009-09-03 09:40:57

C#創(chuàng)建表單

2009-08-25 14:42:41

由C++轉(zhuǎn)向C#

2009-09-07 16:09:19

C#和Java特點(diǎn)

2009-08-21 15:02:31

C#加密算法

2009-08-07 09:29:22

C#數(shù)組C#函數(shù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號