有不是多線程的,.NET有一個(gè)異步控件來(lái)完成這個(gè)事情,BackgroundWorker。
沁水網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)建站!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、APP開(kāi)發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)公司等網(wǎng)站項(xiàng)目制作,到程序開(kāi)發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)建站自2013年起到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)建站。
多線程其實(shí)比你想象的簡(jiǎn)單,你計(jì)劃操作步驟,打比方說(shuō)我們處理一個(gè)文件,用進(jìn)度條來(lái)顯示進(jìn)度。我們可以定義解壓他進(jìn)度為5%,解密文件后哦進(jìn)度完成20%,讀取數(shù)據(jù)后進(jìn)度完成30%,重新整理插入數(shù)據(jù)后進(jìn)度完成60%,再加密,進(jìn)度為80%,再壓縮進(jìn)度為90%,再發(fā)送進(jìn)度為95%,刪除歷史記錄結(jié)束動(dòng)作進(jìn)度為100%。這種事就要多線程去完成,調(diào)用控件你就需要委托或者回調(diào)控件。
進(jìn)度條給他賦值就好了,程序運(yùn)行后你會(huì)發(fā)現(xiàn)進(jìn)度條在動(dòng)。
這是現(xiàn)在90%程序進(jìn)度條原理。
程序底部狀態(tài)欄吧? 工具箱 - 菜單和工具欄 選項(xiàng)卡下 有個(gè) StatusStrip 拖到窗體上就跑下面了 點(diǎn)擊它,彈出菜單中 選擇 ProgressBar 就指定 進(jìn)度條在 狀態(tài)欄上了。 你原來(lái)添加的PB可以刪除了。
該實(shí)例有很多實(shí)現(xiàn)方法,下面介紹一種不同的給你:
首先要在窗體中載入以下控件:progressbar(進(jìn)度條),label(用來(lái)實(shí)時(shí)顯示文本提示),兩個(gè)timer(分別控制進(jìn)度條進(jìn)度的增減),然后用以下代碼就能實(shí)現(xiàn):
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Timer1.Enabled = True
Timer1.Interval = 500
Timer2.Interval = 500
ProgressBar1.Value = 0
ProgressBar1.Maximum = 100
ProgressBar1.Minimum = 0
End Sub
'上述過(guò)程是設(shè)置控件的初始值,也可以在屬性面板設(shè)置
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
ProgressBar1.Value += 1
Label1.Text = "當(dāng)前完成" ProgressBar1.Value "%"
If (ProgressBar1.Value = 100) Then
Timer1.Enabled = False
Timer2.Enabled = True
End If
End Sub
'timer1用來(lái)控制進(jìn)度的增加
Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick
ProgressBar1.Value -= 1
Label1.Text = "當(dāng)前完成" ProgressBar1.Value "%"
If (ProgressBar1.Value = 0) Then
Timer1.Enabled = True
Timer2.Enabled = False
End If
End Sub
'time2用來(lái)控制進(jìn)度的減少
End Class
VB本身有進(jìn)度條控件。程序啟動(dòng)時(shí)加載多少控配置,組件都是編寫(xiě)源碼時(shí)可知的。進(jìn)度條的上限就是加載組件,配置數(shù)的和,加載成功一個(gè)就自加1
這個(gè)不象是怎么傳遞Pr值的問(wèn)題吧,是不是讀取過(guò)程中卡啊?
在pr=J 下面加一句My.Application.DoEvents() ,暫時(shí)釋放一下控制權(quán),使程序去處理完其它事件。再說(shuō)不需要時(shí)間控件,直接在循環(huán)過(guò)程中修改進(jìn)度值也可以,然后來(lái)一句My.Application.DoEvents()。
分享題目:vb.net中進(jìn)度條,vb的進(jìn)度條在哪里
標(biāo)題鏈接:http://vcdvsql.cn/article26/hsejcg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、網(wǎng)站營(yíng)銷(xiāo)、商城網(wǎng)站、面包屑導(dǎo)航、外貿(mào)建站、移動(dòng)網(wǎng)站建設(shè)
聲明:本網(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í)需注明來(lái)源: 創(chuàng)新互聯(lián)