VB本身有進度條控件。程序啟動時加載多少控配置,組件都是編寫源碼時可知的。進度條的上限就是加載組件,配置數的和,加載成功一個就自加1

我們提供的服務有:網站設計、網站制作、微信公眾號開發、網站優化、網站認證、廬山ssl等。為上千家企事業單位解決了網站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術的廬山網站制作公司
VB.Net中提供了ProgressBar控件,用于顯示進度條
我建議你不要用進度條顯示剩余時間而是顯示執行進度
這樣比較好控制
設置ProgressBar的Minimum和Maximum屬性為循環的起始和終止數值
然后在代碼的循環體中計算當前循環的進度,然后設置進度條的Value屬性,
將進度顯示在進度條上
比如,簡單的例子:
Dim Progress As Integer
ProgressBar1.Minimum = Min
ProgressBar1.Maximum = Max
For i As Integer = Min To Max
'執行計算.......
Progress = i \ Max '計算進度
ProgressBar1.Value = Progress '顯示進度
My.Application.DoEvents() '使用Doevents防止窗體假死使進度條看不到,但是會嚴重降低運行速度
Next
這里的優化技巧是,可以設置為每隔N次循環才更新進度條
If Not Progress Mod N Then ProgressBar1.Value = Progress
不然進度條的更新也許比計算的速度還要慢很多
這個不象是怎么傳遞Pr值的問題吧,是不是讀取過程中卡啊?
在pr=J 下面加一句My.Application.DoEvents() ,暫時釋放一下控制權,使程序去處理完其它事件。再說不需要時間控件,直接在循環過程中修改進度值也可以,然后來一句My.Application.DoEvents()。
該實例有很多實現方法,下面介紹一種不同的給你:
首先要在窗體中載入以下控件:progressbar(進度條),label(用來實時顯示文本提示),兩個timer(分別控制進度條進度的增減),然后用以下代碼就能實現:
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
'上述過程是設置控件的初始值,也可以在屬性面板設置
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
ProgressBar1.Value += 1
Label1.Text = "當前完成" ProgressBar1.Value "%"
If (ProgressBar1.Value = 100) Then
Timer1.Enabled = False
Timer2.Enabled = True
End If
End Sub
'timer1用來控制進度的增加
Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick
ProgressBar1.Value -= 1
Label1.Text = "當前完成" ProgressBar1.Value "%"
If (ProgressBar1.Value = 0) Then
Timer1.Enabled = True
Timer2.Enabled = False
End If
End Sub
'time2用來控制進度的減少
End Class
網站題目:vb點虐
進度條實例的簡單介紹
網址分享:http://www.yijiale78.com/article2/ddgceic.html
成都網站建設公司_創新互聯,為您提供定制開發、域名注冊、Google、面包屑導航、移動網站建設、網站排名
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯