關(guān)于vb.net有進(jìn)度條假死的信息

vb.net讀取數(shù)據(jù)庫時假死不顯示進(jìn)度條

你問的是vb.net讀取數(shù)據(jù)庫時假死不顯示進(jìn)度條怎么辦吧,在循環(huán)代碼中加一句DoEvents語句。

白云ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18980820575(備注:SSL證書合作)期待與您的合作!

根據(jù)微軟公司的資料得知,這是一種bug,只要在循環(huán)代碼中加一句DoEvents語句即可。

VB.Net是一種簡單,現(xiàn)代,面向?qū)ο蟮挠嬎銠C編程語言,由微軟開發(fā)。

vb.net多線程,循環(huán)導(dǎo)致窗口界面假死的問題

同學(xué)。。你這里的寫法其實根本沒有用到多線程

原因很簡單

你是定義了一個T的新線程,但是很可惜你在BeginDoSub這個獨立的線程中又定義了一個deSomeSub的委托,并且直接用Me.Invoke把實際的執(zhí)行任務(wù)提交給界面主線程運行了

所以你的圖片的處理函數(shù)實際上是在主線程中運行的,新線程等于沒用

正確的作法是,T定義為SomeSub這個函數(shù)為入口的線程,并啟動它

在界面進(jìn)度條更改的時候再使用Invoke來調(diào)用委托來進(jìn)行界面更改。

自己再好好看看吧,時間問題我要走了。

VB .NET如何在計算過程中加入進(jìn)度條?

VB.Net中提供了ProgressBar控件,用于顯示進(jìn)度條

我建議你不要用進(jìn)度條顯示剩余時間而是顯示執(zhí)行進(jìn)度

這樣比較好控制

設(shè)置ProgressBar的Minimum和Maximum屬性為循環(huán)的起始和終止數(shù)值

然后在代碼的循環(huán)體中計算當(dāng)前循環(huán)的進(jìn)度,然后設(shè)置進(jìn)度條的Value屬性,

將進(jìn)度顯示在進(jìn)度條上

比如,簡單的例子:

Dim Progress As Integer

ProgressBar1.Minimum = Min

ProgressBar1.Maximum = Max

For i As Integer = Min To Max

'執(zhí)行計算.......

Progress = i \ Max '計算進(jìn)度

ProgressBar1.Value = Progress '顯示進(jìn)度

My.Application.DoEvents() '使用Doevents防止窗體假死使進(jìn)度條看不到,但是會嚴(yán)重降低運行速度

Next

這里的優(yōu)化技巧是,可以設(shè)置為每隔N次循環(huán)才更新進(jìn)度條

If Not Progress Mod N Then ProgressBar1.Value = Progress

不然進(jìn)度條的更新也許比計算的速度還要慢很多

分享題目:關(guān)于vb.net有進(jìn)度條假死的信息
網(wǎng)站網(wǎng)址:http://muchs.cn/article42/doscdec.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、ChatGPT全網(wǎng)營銷推廣、關(guān)鍵詞優(yōu)化App設(shè)計、移動網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化