我已經構建了一個應用程序,使用Application.Run(new Form)
啓動表單。在該應用程序有以下這個線程函數關閉時引發的異常應用程序
private void threadTask() {
while (true) {
Thread.Sleep(500);
if (isOn) {
Invoke((MethodInvoker) delegate { reloadData(tabControl.SelectedIndex); });
Invoke((MethodInvoker) delegate { onOffButton.BackColor = Color.Lime; });
Invoke((MethodInvoker) delegate { infoLabel.Visible = false; });
}
}
}
當我關閉應用程序,我得到這個異常:在 「System.InvalidOperationException」 System.Windows.Forms.dll的
:拋出異常
在System.Windows.Forms.Control.Invoke(委託方法,對象[]參數)
我已經試圖通過在窗體關閉時調用Application.Exit()
來解決此問題。該函數被執行,但是,我仍然在Application.Exit()
被調用後得到異常。
有什麼方法可以解決這個問題嗎?如何檢查應用程序是否已關閉?
在vs中調試並檢查至極線是否通過異常。我想你需要終止線程退出應用程序 – lvl4fi4
這是非常隨機的。我發生在三條Invoke行中的任何一行,有時根本就沒有。 –
所以就像我說你必須終止他們退出應用程序 – lvl4fi4