你問的是vb.net讀取數據庫時假死不顯示進度條怎么辦吧,在循環(huán)代碼中加一句DoEvents語句。
白云ssl適用于網站、小程序/APP、API接口等需要進行數據傳輸應用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯系或者加微信:18980820575(備注:SSL證書合作)期待與您的合作!
根據微軟公司的資料得知,這是一種bug,只要在循環(huán)代碼中加一句DoEvents語句即可。
VB.Net是一種簡單,現代,面向對象的計算機編程語言,由微軟開發(fā)。
同學。。你這里的寫法其實根本沒有用到多線程
原因很簡單
你是定義了一個T的新線程,但是很可惜你在BeginDoSub這個獨立的線程中又定義了一個deSomeSub的委托,并且直接用Me.Invoke把實際的執(zhí)行任務提交給界面主線程運行了
所以你的圖片的處理函數實際上是在主線程中運行的,新線程等于沒用
正確的作法是,T定義為SomeSub這個函數為入口的線程,并啟動它
在界面進度條更改的時候再使用Invoke來調用委托來進行界面更改。
自己再好好看看吧,時間問題我要走了。
VB.Net中提供了ProgressBar控件,用于顯示進度條
我建議你不要用進度條顯示剩余時間而是顯示執(zhí)行進度
這樣比較好控制
設置ProgressBar的Minimum和Maximum屬性為循環(huán)的起始和終止數值
然后在代碼的循環(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
不然進度條的更新也許比計算的速度還要慢很多
分享題目:關于vb.net有進度條假死的信息
網站網址:http://jinyejixie.com/article42/doscdec.html
成都網站建設公司_創(chuàng)新互聯,為您提供品牌網站建設、ChatGPT、全網營銷推廣、關鍵詞優(yōu)化、App設計、移動網站建設
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯