比如在一個窗體中的代碼如下,在另一個線程中顯示,隱藏窗口線程中的進(jìn)度條:
成都創(chuàng)新互聯(lián)主要從事成都網(wǎng)站設(shè)計、成都網(wǎng)站制作、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)貴州,十余年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18980820575
Public?Delegate?Sub?VoidDelegate()?'定義委托類型
Private?Sub?Button1_Click(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)
Dim?th1?As?New?System.Threading.Thread(AddressOf?MyThreadProc)?'聲明線程
th1.Start()?'啟動線程運行?MyThreadProc過程
End?Sub
Public?Sub?MyThreadProc()?
Me.Invoke(New?VoidDelegate(AddressOf?StartProgress))?'這個是在另一個線程里調(diào)用StartProgress過程,并在創(chuàng)建窗口的那個線程里運行。參數(shù)是委托類型。me也可以改成控件名。如果直接調(diào)用?StartProgress,那該過程就在與MyThreadProc同一線程中運行,那么StartProgress過程中修改的控件不是在本線程創(chuàng)建的,就會出錯。
'。。。。。。。。。
Me.Invoke(New?VoidDelegate(AddressOf?ShutProgress))
End?Sub
Public?Sub?ShutProgress()
ProgressBar1.Visible?=?False
End?Sub
Public?Sub?StartProgress()
ProgressBar1.Visible?=?True
End?Sub
'不是還有個Process控件嗎,好像也是用來多線程操作的,還沒研究,
AxWebBowser就是原來VB6里面那個COM控件WebBowser.直接在添加引用時選擇COM一頁進(jìn)去找就是了
在線升級一般采用FTP方式.先由客戶端發(fā)起更新請求,服務(wù)器返回現(xiàn)在最新的文件的清單、版本、修改日期等信息,客戶端拿到和自己的文件進(jìn)行比對,發(fā)現(xiàn)不同的就用FTP方式向服務(wù)器索取最新的,然后替換掉自己的就可以了。
樓上的太深奧了,我都沒聽過,汗顏,我就用菜鳥做法吧!
Dim a(29), i As Integer
Dim Rnd As New Random
For i = 0 To 29
a(i) = CInt(Rnd.Next(50, 100))
Next
'生成的分?jǐn)?shù)已經(jīng)完成, 存儲在數(shù)組中
Dim count(4) As Integer
Dim j As Integer
For j = 0 To 4
count(j) = 0
Next
For i = 0 To 29
If a(i) = 90 Then
count(0) = count(0) + 1
ElseIf a(i) = 80 And a(i) 90 Then
count(1) = count(1) + 1
ElseIf a(i) = 70 And a(i) 80 Then
count(2) = count(2) + 1
ElseIf a(i) = 60 And a(i) 70 Then
count(3) = count(3) + 1
ElseIf a(i) 60 Then
count(4) = count(4) + 1
End If
Next
Response.Write("等級A的人數(shù)是:" count(0) "/br")
Response.Write("等級B的人數(shù)是:" count(1) "/br")
Response.Write("等級C的人數(shù)是:" count(2) "/br")
Response.Write("等級D的人數(shù)是:" count(3) "/br")
Response.Write("等級E的人數(shù)是:" count(4) "/br")
程序我親自調(diào)試過,都是正確的! 直接將本部分代碼貼到pageload事件里就行