0
我有2種形式。帶有一些代碼的主窗體和具有進度條的2窗體。雖然主要形式正在成爲無形的,第二種形式作爲線程apears:進度條和ThreadAbortException
Thread pb = new Thread(Show_pb); //Show_pb shows the 2 form with green progress bar
pb.Start();
this.ShowInTaskbar = false;
this.Visible = false;
//do smth...
pb.Abort();
this.Visible = true;
this.ShowInTaskbar = true;
this.Activate();
畢竟有時它拋出一個異常:
線程已被中止
如果我在Show_pb
中創建try..catch
它會每次都拋出:
try
{
Form2 f_pb = new Form2();
f_pb.ShowDialog();
f_pb.Activate();
}
catch (Exception ex)
{
throw ex;
}
但我無法處理系統拋出的異常。我應該改變什麼或如何處理這個異常?
永遠不要調用'Thread.Abort()'。相反,設置一個'ManualResetEvent'或其他東西,讓線程定期檢查它是否應該退出。 –
使用'BackgroudWorker'控件。 – Irshad
@Irshad如果OP使用相同的機制從後臺工作線程退出,那麼這本身並沒有幫助。 –