c winform 關閉窗體時,同時結束執行緒

2022-03-06 15:13:11 字數 765 閱讀 3884

前不久,做乙個winform小程式,是給客戶導資料用的。當時就發現除錯的時候,執行緒有點問題,到某個點時就走不動了。但是執行確實沒有問題的。

只是在關閉窗體後,資源管理器裡,一大堆程序。。。

當時,客戶急著用,小測了下,匯出資料無誤,程序就先不管了。

thread th = new

thread(excute);

th.isbackground = true;

這樣就解決問題了。

這個屬性的意思就是把執行緒設定為後台執行緒。

然後關閉程序的同時,執行緒也會隨之關閉。

不知道各位還有什麼妙招,多多指導哈

度娘說:

程式退出的方法:

我是用了 th.isbackground = true  就解決了的,system.environment.exit(0);是不是更徹底些呢?

附上isbackground對執行緒的重要作用

1、當在主線程中建立了乙個執行緒,那麼該執行緒的isbackground預設是設定為false的。

2、當主線程退出的時候,isbackground=false的執行緒還會繼續執行下去,直到執行緒執行結束。

3、只有isbackground=true的執行緒才會隨著主線程的退出而退出。

4、當初始化乙個執行緒,把thread.isbackground=true的時候,指示該執行緒為後台執行緒。後台執行緒將會隨著主線程的退出而退出。

5、原理:只要所有前台執行緒都終止後,clr就會對每乙個活在的後台執行緒呼叫abort()來徹底終止應用程式。

C winform子窗體關閉後父窗體不前置的問題

父窗體呼叫子窗體的 try ab.showdialog catch exception ex 子窗體關閉 this.dispose 以上 造成子窗體dispose後預設return回系統,所以父窗體不能被啟用。解決方法如下 1.父窗體呼叫子窗體 try ab.showdialog ab.dispos...

C Winform窗體工具類(二)窗體關閉提示

在開發中,有一些常常用到的方法,每次查詢以前寫的比較麻煩 自己寫有在做重複工作 所以總乙個小的工具類,隨時新增內容 顯示提示資訊 要控制的窗體 是否顯示提示資訊 public static void formclose this form form,boolean isshowtip true 呼叫...

C 關閉子窗體時,同時關閉父窗體的一種方法

這個方法是最簡單的 定義子窗體 form form new form 註冊乙個子窗體的disposed 事件 form.disposed new eventhandler form disposed 在子窗體的closing中加入dispose private void form2 formclos...