2014-01-06 2 views
0

안녕하세요, 저는 정말 바보 같아요. 오류를 없애도록 도와 주시겠습니까? 죄송합니다. 저는 C#을 처음 접하는 학생입니다. 논리를 수정하기 위해 변수를 선언해야합니까?C# 콘솔 응용 프로그램의 탈출 단추

void WindowCloseOnEsc_KeyDown(object sender, KeyEventArgs e) 
{ 
    if (e.Key == Key.Escape) 
    { 
     Close(); 
    } 

} 
+2

제목은 콘솔 응용 프로그램을 만드는 중임을 나타냅니다. 이 경우 KeyDown 이벤트를 사용할 수 없습니다. 콘솔 응용 프로그램이나 Windows Forms 응용 프로그램이 있는지 명확히 할 수 있습니까? –

+0

IT는 콘솔 응용 프로그램입니다 – MattTheCodeMan

+2

나중에 질문 할 때 오류가 무엇인지, 컴파일 오류 또는 런타임 오류인지 확인하는 것이 좋습니다. –

답변

5

을이, 당신은 ConsoleKeyInfo.Key 속성을 사용하여보고해야합니다 콘솔 응용 프로그램 인 경우. 제공된 링크에서 가져온 내용은 ​​MSDN의 샘플로 esc 키를 눌렀을 때 콘솔 프로그램을 닫거나 종료하는 방법을 보여줍니다. 다음은 기본 아이디어입니다.

public static void Main() 
{ 
    ConsoleKeyInfo cki; 

    Console.WriteLine("Press the Escape (Esc) key to quit: \n"); 
    do 
    { 
     cki = Console.ReadKey(); 
     // do something with each key press until escape key is pressed 
    } while (cki.Key != ConsoleKey.Escape); 
} 
+0

내 하루를 만들어 줘서 고마워. :) – MattTheCodeMan

+0

당신은 환영합니다 :) –

3

당신은 Environment.Exit를 사용해야합니다, 당신은이처럼 if 문을 변경해야합니다 :

void WindowCloseOnEsc_KeyDown(object sender, KeyEventArgs e) 
{ 
    if (e.KeyCode == Keys.Escape) 
    { 
     Environment.Exit(0); 
    } 
} 
+0

이런 것들이 오류로 표시됩니다. .. KeyEventArgs e ... 키 ... 닫기. – MattTheCodeMan

+0

고마워요로드가 더 좋습니다 :) 여전히 KeyEventArgs 전자 및 키에 문제가 있습니까? 예를 들어 bool, float 또는 string과 관련된 변수의 유형을 모르겠습니다! – MattTheCodeMan

+0

무엇이 문제입니까, 아니면 오류 메시지입니까? –

관련 문제