2011-04-18 3 views
29

나는 윈도우 폼 솔루션을 개발 및 클래스의 생성자에서 나는windows form .. console.writeline() 콘솔은 어디에 있습니까?

Console.WriteLine("constructer called")

라고하지만 난 단지 .. 형식이 아닌 콘솔을 가지고 어디 출력은?

+3

또는 당신이 여기 진짜, 콘솔 응용 프로그램을 될 앱 매니페스트를 변경하려면 콘솔에서 EXE를 시작하고 해달라고하면 솔루션 : http://www.nerdyhearn.com/blog/157/ –

답변

43

프로젝트 설정에서 응용 프로그램 유형을 콘솔로 설정하십시오. 그러면 콘솔과 폼을 얻을 수 있습니다.

11

Visual Studio에서 응용 프로그램을 실행하면 출력 창에 콘솔 출력이 표시됩니다.

디버그 -> 윈도우 -> 출력

주 윈폼 응용 프로그램에서 출력 진단 데이터에 바람직한 방법은 그들이 더 구성 할 수있는 방법과 같은 System.Diagnostics.Debug.WriteLine 또는 System.Diagnostics.Trace.WriteLine을 사용하는 것입니다 당신은 출력을 원하는 위치 .

+0

출력 방법 및 위치는 어떻게 구성합니까? 디버그 옵션 창에 갔다가 디버깅> 출력 창> 일반 출력 설정에서 "모든 디버그 출력"이 "켜기"로 설정되어 있고 출력 창에 아무것도 표시되지 않습니다. 행동 양식. –

36

또한 Debug.WriteLine을 사용하는 것이 좋습니다. 그게 아마도 당신이 원하는 것일 것입니다. 이 문은 응용 프로그램의 추적 수신기에 쓰여지고 Output Window of Visual Studio에서 볼 수 있습니다.

Debug.WriteLine("constructor fired"); 
+1

계속 노력하고 있지만 일반적인 빌드가 성공한 빌드 빌드를 제외한 출력 창에는 아무 것도 나타나지 않습니다. –

1

다른 답변은 System.Diagnostics.Debug.WriteLine이 디버깅 메시지 요청에 적합하다고 말했습니다. 이 같은 상호 작용 콘솔 창을 호출 할 수있는 윈폼 응용 프로그램에서

:하지만 귀하의 질문에 대답하는

using System.Runtime.InteropServices; 

... 

void MyConsoleHandler() 
{ 
    if (AllocConsole()) 
    { 
     Console.Out.WriteLine("Input some text here: "); 
     string UserInput = Console.In.ReadLine(); 

     FreeConsole(); 
    } 
} 


[DllImport("kernel32.dll", SetLastError = true)] 
[return: MarshalAs(UnmanagedType.Bool)] 
static extern bool AllocConsole(); 

[DllImport("kernel32.dll", SetLastError = true)] 
[return: MarshalAs(UnmanagedType.Bool)] 
static extern bool FreeConsole(); 
가끔 대신 응용 프로그램 윈도우의 명령 프롬프트를 높이기 위해 이것을 사용

주어진 특정 스위치에 열리는. 사람이 그것을 필요로하는 경우

이 비슷한 질문에 좀 더 아이디어가있다 :
What is the Purpose of Console.WriteLine() in Winforms