這是我自己寫的一個進度條控件,如圖:
創(chuàng)新互聯(lián)建站專業(yè)為企業(yè)提供臨淄網(wǎng)站建設、臨淄做網(wǎng)站、臨淄網(wǎng)站設計、臨淄網(wǎng)站制作等企業(yè)網(wǎng)站建設、網(wǎng)頁設計與制作、臨淄企業(yè)網(wǎng)站模板建站服務,十多年臨淄做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡服務。
邊框粗細和邊框顏色以及進度條顏色都可以調。
進度條大小你可以自己拉伸。
同時,進度條還提供了豐富的動畫效果(如邊框閃爍效果【可關閉】,進度條滑動效果等。)
將邊框粗細調為0即可實現(xiàn)無邊框(同時邊框閃爍效果(見“Flash”屬性)也將關閉?。?/p>
進度值(見“ProgressValue”屬性)類型為Single(單精度浮點數(shù))
將我提供的DLL文件拖到工具箱即可安裝
只能用于Windows窗體應用程序!
目標平臺:.Net Framework 3.5
屬性說明:
1.BorderColor 用于調整邊框顏色
2.BorderWidth 用于調整邊框粗細
3.Flash 用于開啟、關閉邊框閃爍效果
4.ProgressValue 用于設置、查看進度值
5.ForeColor 用于設置進度條顏色
6.BackColor 用于設置控件背景色
附件如果丟失,請私信。
簡單的辦法可以試試賦值后加
控件.refresh +
System.Windows.Forms.Application.DoEvents()
或者
My.Application.DoEvents()
復雜的方法就是用后臺線程循環(huán),并更新界面
有不是多線程的,.NET有一個異步控件來完成這個事情,BackgroundWorker。
多線程其實比你想象的簡單,你計劃操作步驟,打比方說我們處理一個文件,用進度條來顯示進度。我們可以定義解壓他進度為5%,解密文件后哦進度完成20%,讀取數(shù)據(jù)后進度完成30%,重新整理插入數(shù)據(jù)后進度完成60%,再加密,進度為80%,再壓縮進度為90%,再發(fā)送進度為95%,刪除歷史記錄結束動作進度為100%。這種事就要多線程去完成,調用控件你就需要委托或者回調控件。
進度條給他賦值就好了,程序運行后你會發(fā)現(xiàn)進度條在動。
這是現(xiàn)在90%程序進度條原理。
VB.Net中提供了ProgressBar控件,用于顯示進度條
我建議你不要用進度條顯示剩余時間而是顯示執(zhí)行進度
這樣比較好控制
設置ProgressBar的Minimum和Maximum屬性為循環(huán)的起始和終止數(shù)值
然后在代碼的循環(huán)體中計算當前循環(huán)的進度,然后設置進度條的Value屬性,
將進度顯示在進度條上
比如,簡單的例子:
Dim Progress As Integer
ProgressBar1.Minimum = Min
ProgressBar1.Maximum = Max
For i As Integer = Min To Max
'執(zhí)行計算.......
Progress = i \ Max '計算進度
ProgressBar1.Value = Progress '顯示進度
My.Application.DoEvents() '使用Doevents防止窗體假死使進度條看不到,但是會嚴重降低運行速度
Next
這里的優(yōu)化技巧是,可以設置為每隔N次循環(huán)才更新進度條
If Not Progress Mod N Then ProgressBar1.Value = Progress
不然進度條的更新也許比計算的速度還要慢很多
這個不象是怎么傳遞Pr值的問題吧,是不是讀取過程中卡啊?
在pr=J 下面加一句My.Application.DoEvents() ,暫時釋放一下控制權,使程序去處理完其它事件。再說不需要時間控件,直接在循環(huán)過程中修改進度值也可以,然后來一句My.Application.DoEvents()。
VB本身有進度條控件。程序啟動時加載多少控配置,組件都是編寫源碼時可知的。進度條的上限就是加載組件,配置數(shù)的和,加載成功一個就自加1
本文題目:關于vb.net查詢進度的信息
當前URL:http://jinyejixie.com/article16/dochsdg.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供自適應網(wǎng)站、軟件開發(fā)、網(wǎng)站策劃、網(wǎng)頁設計公司、網(wǎng)站建設、網(wǎng)站維護
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)