解決執行緒中的非模式對話方塊

2021-08-25 02:13:06 字數 460 閱讀 1054

今天在演示網路程式設計的時候發現,子執行緒中的messagebox.show竟然不是模式對話方塊。

而主線程(窗體執行緒)的messagebox是模式的。

雖然問題很小,但是可能會帶來其他後果,對於程式設計師而言,任何乙個小問題也不能忽視。仔細考慮了一下,主線程的對話方塊就是針對窗體的,所以是模式的。而子執行緒的對話方塊是在該執行緒上操作,如果要使其成為模式對話方塊就和主線程之間產生了關係。開啟msdn,其中有乙個對話方塊宣告是:messagebox.show (iwin32window, string) ;iwin32window是win32控制代碼的介面,form類間接實現了該介面,所以可以這樣使用:messagebox.show((iwin32window)this,"子執行緒對話方塊");在子執行緒執行後,發現成為了模式對話方塊。

小結:1. 對待任何小節都不能忽視,應該用嚴謹的態度看待,並解決;

2. 執行緒的操作中可能會產生很多意想不到的問題,應該多測試並細心觀察。

MFC 對話方塊程式 模式對話方塊與非模式對話方塊

一 根據主視窗型別,mfc軟體工程可以分為以下幾種架構模型 例如 記事本和畫筆等。2 mdi multiple document inte ce 多文件介面,乙個主框架視窗下可以同時編輯多份文件。例如 vc 6.0,photoshop等軟體。3 基於對話方塊的軟體模型 主視窗是通過資源管理器,在對話...

彈出模式對話方塊和彈出非模式對話方塊

非模式對話方塊 clistlink m plistlink null ssn return pishowlistdialog in ssn object id listtype,in ssn object id listdialogid m plistlink showwindow sw show ...

Qt 非模式對話方塊

應用例項 搜尋框 建立乙個widget物件,作為主窗體的成員變數 searchwindow m searchwin m searchwin new searchwindow this m searchwin setwindowflags qt window 在使用者執行搜尋選單時顯示此視窗 int ...