新聞中心
VB.NET編程語言應(yīng)用方式靈活,運(yùn)用范圍廣泛,深受廣大編程人員的喜愛。不過要想熟練的掌握這一語言的應(yīng)用技巧,也并不是非常容易的。其中,各種函數(shù)的應(yīng)用方式就是一個(gè)比較難啃的骨頭。

有很多程序員都不了解VB.NET DoEvents。DoEvents函數(shù)可以臨時(shí)返回控制器給操作系統(tǒng),并允許它完成其他可能發(fā)生的事件。
當(dāng)一個(gè)程序的代碼需要花很長(zhǎng)的時(shí)間去執(zhí)行,比如在一個(gè)復(fù)雜的數(shù)學(xué)計(jì)算的時(shí)候,你需要運(yùn)用VB.NET DoEvents。在你代碼適當(dāng)?shù)奈恢谜{(diào)用DoEvents函數(shù),能夠改變程序響應(yīng)的時(shí)間。
這里有一個(gè)例子:在VB里創(chuàng)建一個(gè)標(biāo)準(zhǔn)的EXE文件并放置一個(gè)CommandButton和一個(gè)TextBox,然后,將下面的代碼放入CommandButton的單擊事件處理程序中:
- Private Sub Command1_Click()
- Dim i As Long, j As Long
- For i = 1 To 100
- Text1.Text = i
- For j = 1 To 100000
- NextNext
- Text1.Text = “Done”
- End Sub
你可以發(fā)現(xiàn)這個(gè)程序中有嵌套式循環(huán),循環(huán)將持續(xù)幾秒鐘。每次,外部循環(huán)反復(fù)執(zhí)行I #t#
的值顯示在text box中。當(dāng)循環(huán)結(jié)束時(shí),Done也顯示出來了。
在你運(yùn)行這個(gè)程序的時(shí)候究竟發(fā)生了什么呢?然而,text box不會(huì)改變直到Done顯示
出來。問題在于在執(zhí)行循環(huán)的時(shí)候系統(tǒng)非常繁忙,而循環(huán)語句中的I要顯示在text box里面,這延遲windows隊(duì)列。當(dāng)循環(huán)完成以后,所有的請(qǐng)求都被執(zhí)行。
現(xiàn)在在Text1.Text = i調(diào)用VB.NET DoEvents。當(dāng)你運(yùn)行程序的時(shí)候,你會(huì)發(fā)現(xiàn)text box記下了I的值。調(diào)用DoEvents函數(shù)可以釋放系統(tǒng)內(nèi)存來完成其他請(qǐng)求,然后將控制器返回給VB程序。
雖然調(diào)用VB.NET DoEvents是以速度為代價(jià),但是可以讓程序有時(shí)間執(zhí)行其他的事件,這個(gè)代價(jià)是值得的。
分享標(biāo)題:VB.NETDoEvents重要性體現(xiàn)
網(wǎng)站網(wǎng)址:http://www.5511xx.com/article/cdijjsc.html


咨詢
建站咨詢
