2009-09-03 107 views
4

好的我正在創建一個帶有插件體系結構的應用程序,並且應用程序可以在沒有GUI的情況下運行,換句話說GUI實際上是可選的......並且如果用戶決定使用圖形用戶界面控制檯只是隱藏。C#中的控制檯和Windows窗體#

我可以通過調用其中一個插件方法在控制檯中創建窗體,但是一旦創建了窗口,控制檯程序就會一直等待,直到窗口關閉......是否有創建窗體的方法,以便控制檯不必等待,它應該繼續處理它自己的東西,只是通知gui一些信息?

回答

2

爲什麼不把窗體應用程序保存爲獨立的可執行文件並調用process.start()?

例如

Process.Start("c:\yourwindowsformsapplication.exe"); 

你就可以離開控制檯應用程序或控制檯應用程序內繼續其他的工作,一旦你開始了windowsapplication.exe。

並使用遠程處理在兩個應用程序之間進行通信。

或....

創建一個新的線程和新線程中調用你form.show()

例子:

Form frm=new form(); 
Thread th=new Thread(frm.show); 
th.start(); 
+0

你需要什麼的線程? Show()已經是一個非阻塞的調用。 – MusiGenesis 2009-09-03 02:40:45

+0

我猜他的控制檯一直在使用它自己的東西,窗體一直在用它自己的東西工作,他想通知窗體... 假設某些處理正在進行,他可以嘗試一個線程。 – Josh 2009-09-03 03:04:51

1

您是否正在使用ShowDialog()創建並顯示窗體?如果是這樣,那就是控制檯應用程序正在等待表單關閉的原因。嘗試使用Show()來顯示錶單 - Show()是一個非阻塞調用,它將程序執行返回到下一行。

相關問題