我們有一個應用程序運行在顯示奇怪行爲的客戶端。在白天的隨機時間,某些窗體上的確定按鈕(它調用Form.Close方法)不會導致窗體關閉。與此我的意思是,用戶將單擊按鈕,在跟蹤中它將顯示該Form.Close被調用,但表單不會關閉。窗體調用Form.Close後不關閉
奇怪的是,表單本身仍然是響應,所以他們可以點擊窗體上的任何按鈕,按鈕後面的代碼將執行,但窗體不會關閉。
這種狀態持續幾秒到幾分鐘之間的任何事情。然後突然之間表單將開始處置並消失。真奇怪。
因此,要回顧一下,會發生以下情況:
Form.ShowDialog()
- >形式顯示- 用戶處理形式,並按下按鈕等等
Form.Close()
被稱爲 - >用戶點擊了關閉按鈕- 一段時間過去了,表單正在等待關閉,同時仍然響應(此時沮喪的用戶敲擊關閉按鈕幾次而沒有響應)
- 突然形式處置和對話的結果從
Form.ShowDialog
東西還給注意:
- 我沒有使用任何類型的線程的。
- 在某些時候,據報道在PC上停止了
explorer.exe
進程,這是否會影響表單的行爲?我們正在安排PC的重建。
我的問題是,如果有人知道可能導致上述行爲的情況?
我不是專家,但據我瞭解,當你打電話給Form.Close
時,窗體並不立即關閉,當前調用Close的第一個方法結束,然後另一個進程觸發窗體開始關閉,處置。
這可能與explorer.exe
進程沒有運行有關嗎?
任何有識之士將不勝感激。
***編輯
還要注意的是,我們不能複製的問題,它在客戶端隨機發生。
可能[這](http://stackoverflow.com/questions/8113334/winforms-form-wont-close-on-pressing-x-or-close-in-c-sharp)可能嗎? –
https://stackoverflow.com/questions/3912836/c-sharp-why-does-form-close-not-close-the-form#answer-19313930 –
@SimonKarlsson我看看你的鏈接,但它不是同樣的情況。 Close方法在模態表單上被調用,因此問題不在阻塞調用中。還要注意,我們不能複製這個問題,它是隨機發生的。 – user2418900