在vb.net工具箱中 ProgressBar 控件圖標(biāo)。

成都創(chuàng)新互聯(lián)從2013年創(chuàng)立,是專(zhuān)業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站建設(shè)、成都做網(wǎng)站網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元寬甸做網(wǎng)站,已為上家服務(wù),為寬甸各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:028-86922220
ProgressBar 控件常用屬性有:Maximum、Minimum、Step、Value;常用的方法有:PerformStep、Increment。
Maximum、Minimum 屬性:指ProgressBar 控件可變化的最大和最小值。
Step 屬性:ProgressBar 控件調(diào)用 PerformStep 方法時(shí)候增長(zhǎng)的步長(zhǎng)。
Value 屬性:ProgressBar 控件當(dāng)前的位置值。
PerformStep 方法:按照 Step 屬性的數(shù)量增加進(jìn)度欄的當(dāng)前位置。
Increment 方法:按指定的數(shù)量增加進(jìn)度欄的當(dāng)前位置。
ProgressBar 控件又稱(chēng)進(jìn)度條控件,它是一個(gè)應(yīng)用很廣的控件,可以在需要執(zhí)行較長(zhǎng)的程序過(guò)程中使用它來(lái)指示當(dāng)前任務(wù)執(zhí)行的進(jìn)度,如果這樣的過(guò)程中沒(méi)有視覺(jué)提示,用戶(hù)可能會(huì)認(rèn)為應(yīng)用程序不響應(yīng),通過(guò)在應(yīng)用程序中使用 ProgressBar,可以告訴用戶(hù)應(yīng)用程序正在執(zhí)行任務(wù)且仍在響應(yīng)。
有不是多線程的,.NET有一個(gè)異步控件來(lái)完成這個(gè)事情,BackgroundWorker。
多線程其實(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)度條原理。
VB實(shí)現(xiàn)進(jìn)度條的方法只需要5個(gè)步驟就可以。
1.首先,編寫(xiě)一個(gè)程序框架,如下所示。
2.然后您可以在這里輸入各種語(yǔ)句,如下所示。
3.然后找到兩個(gè)語(yǔ)句塊的中間部分,如下圖所示。
4.輸入語(yǔ)句[Exitsub],如下所示。
5.最后,您可以運(yùn)行測(cè)試并解決實(shí)現(xiàn)進(jìn)度條的問(wèn)題,如下所示。
注意事項(xiàng):
VB背后的思想是讓程序員(新手和專(zhuān)家)都能輕松使用它。VB使用的GUI系統(tǒng)可以很容易地構(gòu)建應(yīng)用程序,但是可以開(kāi)發(fā)相當(dāng)復(fù)雜的程序。
VB的程序是基于表單的可視化組件安排的聯(lián)合,并添加代碼來(lái)指定組件的屬性和方法。因?yàn)榻M件中已經(jīng)定義了一些默認(rèn)屬性和方法,所以程序員不需要編寫(xiě)太多代碼就可以完成一個(gè)簡(jiǎn)單的程序。
VB程序可以包含一個(gè)或多個(gè)表單,或者一個(gè)主表單和多個(gè)子表單,類(lèi)似于操作系統(tǒng)。功能很少的對(duì)話框窗口(例如沒(méi)有最大化和最小化按鈕的表單)可以用來(lái)提供彈出功能。
VB使用參數(shù)計(jì)算方法進(jìn)行垃圾回收,它包含大量的對(duì)象,提供了基本的面向?qū)ο笾С帧kS著越來(lái)越多的組件可用,程序員可以選擇需要哪些擴(kuò)展庫(kù)。
VB使大量的外部控件有了自己的生存空間。VB中有許多第三方控件。VB還提供了創(chuàng)建、使用和重用這些控件的方法,但是由于語(yǔ)言問(wèn)題,從一個(gè)應(yīng)用程序創(chuàng)建另一個(gè)控件并不容易。
VB.Net中提供了ProgressBar控件,用于顯示進(jìn)度條
我建議你不要用進(jìn)度條顯示剩余時(shí)間而是顯示執(zhí)行進(jìn)度
這樣比較好控制
設(shè)置ProgressBar的Minimum和Maximum屬性為循環(huán)的起始和終止數(shù)值
然后在代碼的循環(huán)體中計(jì)算當(dāng)前循環(huán)的進(jìn)度,然后設(shè)置進(jìn)度條的Value屬性,
將進(jìn)度顯示在進(jìn)度條上
比如,簡(jiǎn)單的例子:
Dim Progress As Integer
ProgressBar1.Minimum = Min
ProgressBar1.Maximum = Max
For i As Integer = Min To Max
'執(zhí)行計(jì)算.......
Progress = i \ Max '計(jì)算進(jìn)度
ProgressBar1.Value = Progress '顯示進(jìn)度
My.Application.DoEvents() '使用Doevents防止窗體假死使進(jìn)度條看不到,但是會(huì)嚴(yán)重降低運(yùn)行速度
Next
這里的優(yōu)化技巧是,可以設(shè)置為每隔N次循環(huán)才更新進(jìn)度條
If Not Progress Mod N Then ProgressBar1.Value = Progress
不然進(jìn)度條的更新也許比計(jì)算的速度還要慢很多
分享標(biāo)題:vb.net多線程進(jìn)度條,c#單線程多進(jìn)程
URL標(biāo)題:http://chinadenli.net/article38/dsgdpsp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、企業(yè)網(wǎng)站制作、響應(yīng)式網(wǎng)站、微信小程序、網(wǎng)站設(shè)計(jì)公司、軟件開(kāi)發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(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)