作者noworneverev (小朋友)
看板Visual_Basic
標題[.NET] 多執行緒問題
時間Sun Apr 1 13:13:38 2018
請輸入專案類型(網站專案或者應用程式專案):VB .NET
小弟有個winform主程式已經完成,但因為裡面有幾個迴圈,會跑比較久
想在點選啟動的按鈕時,同時開啟另一個winform放張正在載入的圖,
目前想到是用threading處理,
Imports System.Threading
Private Sub Progress()
'Loading是放載入圖的winform
Dim f As Loading = New Loading()
f.Show()
f.BringToFront()
End Sub
主程式:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles
Button1.Click
Dim t As Thread
t = New Thread(AddressOf Progress)
t.Start()
'....
'some code here
t.abort()
end sub
現在的問題是啟動時loading的winform會閃一下後馬上消失,不知道原因,
即使後面沒有寫abort也是會立刻消失
但如果在Progress的子程序加上個msgbox(""),就不會立刻跳掉,
想請問這問題該如何解決?畢竟多加個msgbox會很奇怪
謝謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 112.104.92.230
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Visual_Basic/M.1522559623.A.F71.html
1F:→ jerick: 因為 Progress 執行完,其在 Progress 內宣告的物建也會被 05/17 22:47
2F:→ jerick: 釋放。 05/17 22:47
3F:→ jerick: 你可以試試把 Dim f As Loading 放到外面當成公用變數。 05/17 22:49
4F:→ jerick: 試試。 05/17 22:50