2009-09-03 4 views
4

좋아요. 플러그인 아키텍처로 응용 프로그램을 만들고있어 GUI없이 응용 프로그램을 실행할 수 있습니다. 즉, GUI는 실제로 선택 사항입니다 ... 그리고 사용자가 콘솔 GUI는 그냥 숨겨져 있습니다.C#의 콘솔 및 Windows Forms

플러그인 메소드 중 하나를 호출하여 콘솔에 양식을 작성할 수 있지만 창을 작성하자마자 콘솔 프로그램은 창을 닫을 때까지 대기합니다. 양식 작성 방법은 다음과 같습니다. 콘솔은 기다릴 필요가 없으며, 자체 작업을 계속해야하며 GUI에 일부 정보를 알려야합니다.

답변

2

Windows 양식 응용 프로그램을 별도의 실행 파일로 유지하고 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

+0

나는 그의 콘솔이 자신의 물건을 가지고 일하는 것을 계속하고 자신의 물건과 함께 작동하는 양식이 자신의 물건을 계속 유지하고 있다고 말합니다. 일부 처리가 자신의 폼에서 진행되고 있다고 가정하면 스레드를 시도 할 수 있습니다. – Josh

1

ShowDialog()를 사용하여 양식을 만들고 표시하고 있습니까? 그렇다면 콘솔 앱이 양식을 닫을 때까지 기다리는 이유입니다. 대신 Show()를 사용하여 양식을 표시해보십시오. Show()는 프로그램 실행을 다음 줄로 반환하는 비 차단 호출입니다.