用全稱(chēng)可以Microsoft.VisualBasic.Left("sting123", 4),要不然開(kāi)發(fā)環(huán)境以為是窗體的left屬性呀 VB6很多內(nèi)部函數(shù)都在這個(gè)命名空間里面Microsoft.VisualBasic
創(chuàng)新互聯(lián)是一家專(zhuān)業(yè)提供香河企業(yè)網(wǎng)站建設(shè),專(zhuān)注與成都網(wǎng)站建設(shè)、網(wǎng)站制作、H5技術(shù)、小程序制作等業(yè)務(wù)。10年已為香河眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專(zhuān)業(yè)的建站公司優(yōu)惠進(jìn)行中。
多線(xiàn)程就是這樣的。界面線(xiàn)程是主線(xiàn)程,你這個(gè)Form_Load就是運(yùn)行在主線(xiàn)程上的線(xiàn)程,而Thread1,Thread2是由主線(xiàn)程啟動(dòng)的。這個(gè)啟動(dòng)不是線(xiàn)性的。
主線(xiàn)程只是通知系統(tǒng),請(qǐng)啟動(dòng)一個(gè)線(xiàn)程運(yùn)行某某函數(shù)。
而哪個(gè)線(xiàn)程先運(yùn)行完全在系統(tǒng)決定。甚至可能主線(xiàn)程執(zhí)行到Thread1.Abort() ,Thread2.Abort()的時(shí)候這兩個(gè)線(xiàn)程都還沒(méi)有啟動(dòng)起來(lái),所以你會(huì)遇到兩個(gè)變量都是空值這種情況。
雖然你的想法是在 LoginBtn_Click 事件中將復(fù)雜的操作分離出去以減輕UI的負(fù)擔(dān), 這很好完全沒(méi)有問(wèn)題.
但是問(wèn)題在于 Me.Invoke(dh)這里,若是ChkLogin里面仍然是大規(guī)模的操作呢 你的代碼就又變成將很復(fù)雜的操作扔給了UI, 當(dāng)然會(huì)出現(xiàn)窗體無(wú)法拖動(dòng)的情況了.
解決辦法很簡(jiǎn)單, 很多種. 將ChkLogin()里的操作直接放在DelegateLogin()里面吧 me.invoke僅僅只是做簡(jiǎn)單的輕量的刷新之類(lèi)的操作就好了.
希望能幫上你的忙.
Sub Main()
Dim thr As Thread
For Pi As Integer=0 To 4 //啟用5線(xiàn)程
MulParams =Pi vbTab sFile vbTab dFile vbTab 1 vbTab DelN vbTab cr vbTab cg vbTab cb vbTab IndexI
GlobalParamas(pi)=MulParams .Split(vbTab)
thr=New Thread(AddressOf MyMulThreadCaller)
thr.Start() //啟動(dòng)多線(xiàn)程進(jìn)程
Application.DoEvents
Next
End Sub