2009-05-05 18 views
1

更換打開文件對話框/ SaveFileDialog在應用我的工作,我一直在試圖使用SaveFileDialog和OpenFileDialog的他們習慣的目的(保存和打開文件。)在.NET

但是,應用程序可以不支持模式表單/對話框而不會崩潰,因爲在擁有UI的線程上發生太多時間敏感的事情。

重寫應用程序以將這些功能從擁有UI的線程中移開在實際使用中並不實際。爲了完成我一直在努力的功能,我需要替代兩個文件對話框,最好是一個可以生活在非模態窗體上的控件。

有沒有什麼我可以使用,不會阻止我擁有UI的線程?

回答

1

我知道的唯一現有選項是Dialog Workshop.NET,一種商業產品。他們有一組對話框,可以選擇無模式(或直接嵌入窗體而不是單獨的窗口)。

但是,我真的想考慮將時間敏感邏輯轉換爲單獨的線程,而不是。進行無模式對話可能會讓用戶感到困惑,因爲它不會像文件對話框那樣表現出來。擁有不可阻擋的用戶界面還有其他潛在的後果。

+0

正如我在原始問題(以及上面重複的)中所寫的那樣,重寫應用程序以將這些功能從擁有UI的線程中移除在短期內是不切實際的。顯然,我們希望在某個時候這樣做,但這是一項重大任務,涉及重新安排大約500 klocs的應用程序的內核。 – 2009-05-05 16:05:23

2

太多時間敏感的事情發生在擁有UI的線程上。

這是你真正的問題。 .Net具有非常強大的多線程支持。我建議你把這些東西移到其他地方,儘管看起來不愉快。與重新實現打開/保存對話框相比,它的工作量可能會更少,並且從長遠來看,對於您的應用程序來說肯定會更少。

+0

正如我在原始問題中所寫的那樣,重寫應用程序以將這些功能從擁有UI的線程中移除在短期內並不實際。顯然,我們希望在某個時候這樣做,但這是一項重大任務,涉及重新安排大約500 klocs的應用程序的內核。 – 2009-05-05 16:04:51