国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

計(jì)時(shí)器(TIMER)控件在VB編程中的應(yīng)用

2012-11-08 08:48:08河南蔣云麗
職業(yè)技術(shù) 2012年2期
關(guān)鍵詞:窗體計(jì)時(shí)器控件

河南 蔣云麗

計(jì)時(shí)器(TIMER)控件在VB編程中的應(yīng)用

河南 蔣云麗

我們知道計(jì)時(shí)器控件的作用是定時(shí)產(chǎn)生一個(gè)時(shí)鐘(timer)事件,利用這個(gè)事件可以定期地做一些程序處理。用戶可以自行設(shè)置每個(gè)計(jì)時(shí)器的時(shí)間間隔(Interal)。在實(shí)踐教學(xué)中,Timer事件有很廣的應(yīng)用,比如實(shí)現(xiàn)動(dòng)畫的制作、實(shí)現(xiàn)循環(huán)結(jié)構(gòu)的程序設(shè)計(jì)。

Interval屬性;Timer事件

VisualBasic中計(jì)時(shí)器(timer)控件用于前景進(jìn)程中,它是不可見(jiàn)。通過(guò)它的Timer事件可以控制A程序有規(guī)律地每隔一段時(shí)間執(zhí)行一次代碼。

1重要屬性

Interval屬性:該屬性用來(lái)設(shè)置計(jì)時(shí)器事件之間的間隔,以毫秒為單位,其取值范圍為0~65 536毫秒,因此最大的時(shí)間間隔不能超過(guò)65秒。60 000毫秒為1分鐘,如果把Interval屬性值設(shè)為1 000,則表明每秒鐘發(fā)生一個(gè)計(jì)時(shí)器事件;如果希望每秒產(chǎn)生n個(gè)事件,則Interval屬性的值設(shè)置為l 000/n。

2重要事件

Timer事件:是VB模擬實(shí)時(shí)計(jì)時(shí)器的事件。使用計(jì)時(shí)器控件的操作步驟:

(1)設(shè)置Timer控件的Interval屬性值,這個(gè)屬性決定了產(chǎn)生定時(shí)事件的時(shí)間間隔。該屬性的單位是千分之一秒。例如,把:Interval屬性設(shè)置為500,則計(jì)時(shí)器將每隔0.5秒將產(chǎn)生一次Timer事件。

(2)編寫響應(yīng)計(jì)時(shí)器的Timer事件的事件過(guò)程,即在事件過(guò)程中編寫需要定時(shí)執(zhí)行的代碼,完成各種定時(shí)任務(wù)。

(3)通過(guò)設(shè)置計(jì)時(shí)器控件的Enabled屬性為True或False來(lái)打開或關(guān)閉Timer事件的產(chǎn)生。

3利用Timer事件制作簡(jiǎn)單的動(dòng)畫

例如:利用計(jì)時(shí)器的Timer事件移動(dòng)標(biāo)簽控件在窗體上的位置,以生成滾動(dòng)文字效果。(如下圖)

設(shè)計(jì)步聚:

1.填加Timer圖標(biāo),將其Interval屬性設(shè)為30;

2.填加Frame1圖標(biāo),將Caption屬性設(shè)為“白日依山盡,黃河入海流,欲窮千里目,更上一層樓”;

3.垂直滾動(dòng)條,將其MAX屬性設(shè)為30,MIN屬性設(shè)為10,SmallCHange屬性設(shè)置為1,largechange屬性設(shè)為2;

4.代碼如下:

4利用Timer事件實(shí)現(xiàn)程序的循環(huán)

大家都知道VisualBasic中有專用的循環(huán)語(yǔ)句,但是利用IF語(yǔ)句和Timer事件的結(jié)合也可以很好地實(shí)現(xiàn)循環(huán)結(jié)構(gòu)的編程。利用Timer事件實(shí)現(xiàn)循環(huán)應(yīng)注意以下問(wèn)題:

首先,要用Static定義靜態(tài)變量。不能用Dim定義動(dòng)態(tài)變量,否則每循環(huán)一次,變量又被重新定義,它以前的值會(huì)被拋棄。而用Static定義成靜態(tài)變量的話,它會(huì)存儲(chǔ)上一次循環(huán)后變量的值。

其次,用If語(yǔ)句循環(huán),不要給變量賦初值。否則每循環(huán)一次,變量又被重新設(shè)置為初值了。

我們就以下面這段“在按鈕上顯示點(diǎn)擊的次數(shù)”的代碼為例來(lái)說(shuō)明。

Static Counts As Integer是用Static定義一個(gè)靜態(tài)變量來(lái)存儲(chǔ)已經(jīng)點(diǎn)擊的次數(shù)。Counts=Counts+1,每點(diǎn)擊一次,變量值加1,大家已經(jīng)注意到,這里并沒(méi)有給Counts賦初值。你單擊了幾次,Counts的值就是幾。

最后,如果If循環(huán)過(guò)程中不需要用戶干預(yù),須用Timer來(lái)實(shí)現(xiàn)循環(huán)。上面的例子的每一次循環(huán)都是用戶點(diǎn)擊而進(jìn)行的,如果循環(huán)次數(shù)比較多,中途又不能直接干預(yù)的話,就得用Timer定時(shí)器控件來(lái)實(shí)現(xiàn)。

例如計(jì)算“1^2+2^2+...+10^2的值”,這個(gè)程序就要求循環(huán)10次,如果用前面的方法來(lái)實(shí)現(xiàn)的話,那得點(diǎn)擊按鈕10次,實(shí)在太麻煩,況且,如果要循環(huán)百次千次這樣多的次數(shù),總不可能手動(dòng)點(diǎn)擊那么多次。用Timer定時(shí)器控件的話,可以讓定時(shí)器每間隔一定時(shí)間自動(dòng)執(zhí)行一次代碼,當(dāng)達(dá)到循環(huán)次數(shù)時(shí),使定時(shí)器停止。

在窗體上添加一個(gè)Command按鈕和一個(gè)Timer定時(shí)器。先在窗體的Form_Load()事件中設(shè)置Timer定時(shí)器的Enabled屬性為False,Interval屬性為100毫秒。

然后在Command1_Click()事件中寫下Timer1.Enabled=True,這樣,當(dāng)點(diǎn)擊按鈕時(shí),Timer定時(shí)器才啟動(dòng)。

最后一步,在Timer1_Timer()事件中用If語(yǔ)句來(lái)設(shè)置循環(huán)條件是關(guān)鍵,請(qǐng)看下面的代碼:

來(lái)分析一下這段代碼,Static Sum As Integer,n As Integer定義兩個(gè)靜態(tài)變量Sum和n,Sum用于存放總和。下面仍然沒(méi)有為Sum和n賦初值,直接用n=n+1使定時(shí)器每運(yùn)行一次,n的值就加1。后面的if語(yǔ)句是循環(huán)條件,如果n的值沒(méi)超過(guò)10,就繼續(xù)運(yùn)算,否則就使定時(shí)器停止,并且在窗體上顯示出運(yùn)算結(jié)果。

[1]Visual Basic6.0程序設(shè)計(jì).電子工業(yè)出版社,2010年.

[2]Visual Basic6.0程序設(shè)計(jì)教程.清華大學(xué)出版社,2000年.

(作者單位:河南省鄭州機(jī)電工程學(xué)校)

(編輯 王旸)

猜你喜歡
窗體計(jì)時(shí)器控件
松鼠的計(jì)時(shí)器
超高精度計(jì)時(shí)器——原子鐘
試談Access 2007數(shù)據(jù)庫(kù)在林業(yè)檔案管理中的應(yīng)用
檔案天地(2019年5期)2019-06-12 05:12:02
關(guān)于.net控件數(shù)組的探討
軟件(2018年7期)2018-08-13 09:44:42
抗繆勒氏管激素:卵巢功能的計(jì)時(shí)器!
媽媽寶寶(2017年2期)2017-02-21 01:21:22
豎向固定電火花打點(diǎn)計(jì)時(shí)器的技巧
基于LayeredWindow的異形窗體局部刷新
中文信息(2014年2期)2014-03-06 23:49:14
巧設(shè)WPS窗體控件讓表格填寫更規(guī)范
就這樣玩會(huì)VBA中常見(jiàn)的自定義控件
電腦迷(2012年24期)2012-04-29 00:44:03
WinCE.net下圖形用戶界面的開發(fā)
南江县| 河南省| 鄂托克旗| 临泉县| 孝昌县| 乡宁县| 新津县| 金寨县| 陈巴尔虎旗| 安平县| 涪陵区| 和硕县| 金乡县| 彰化市| 潞城市| 金湖县| 十堰市| 宾阳县| 兴安县| 邹城市| 淳安县| 抚宁县| 临城县| 礼泉县| 商水县| 永年县| 纳雍县| 洪江市| 乾安县| 綦江县| 长海县| 祁阳县| 措美县| 新绛县| 璧山县| 静宁县| 乐安县| 资中县| 安塞县| 铜梁县| 靖安县|