2012-07-18 3 views
0

가능한 중복 키 입력을 감지 :
how to handle key press event in console application콘솔에서

간단한 질문을.

나는 재미를 위해 간단한 텍스트 기반 어드벤처 게임을 쓰고 있으며, 이미 첫 번째 부분에 붙어 있습니다! 키 누름에 대한 내 콘솔 확인 방법 I.E : 계속하려면 enter를 누르십시오!

+0

가능한 중복 : http://stackoverflow.com/q/8898182/946904 –

+0

기술적으로는 키가 표시 될 때까지 실제로 요청하지 않았다 아니다. –

+1

당신이 옳다면 정확한 복제본은 아니지만 여기에있는 대답과 거기에있는 대답을 비교하면 매우 유사하다는 것을 알 수 있습니다. –

답변

8

당신은

Console.ReadKey(); 

1 키를 읽으려면 사용할 수 있습니다. 프레스하지만 사용자 유형 아무것도 후 입력하면 당신은 상관하지 않는 경우에 당신이 단지 수

if(key == "") 
    Console.WriteLine("User pressed enter!"); 
else 
    Console.WriteLine("User did not press enter."); 

그리고 :

// Some code here 
Console.ReadLine(); 
// Code here will be run after they press enter 

string key = Console.ReadKey().Key.ToString(); 
if(key.ToUpper() == "W") 
    Console.WriteLine("User typed 'W'!"); 
else 
    Console.WriteLine("User did not type 'W'"); 

또는 : 당신은 다음과 같이 뭔가를 할 수

+0

그리고 사용자가 스페이스 바를 누르면? – Steve

+0

게시물을 편집했습니다. 감사. – 3aw5TZetdf

1
Console.Write("Press Enter to continue!") 
Console.ReadLine(); 

사용자가 Enter 키를 누를 때까지 프로그램이 계속 진행되지 않습니다. 또한 Console.ReadKey를 사용하여 다른 특정 키를 확인할 수 있습니다

:

void WaitForKey(ConsoleKey key) 
{ 
    while (Console.ReadKey(true).Key != key) 
    { } 
} 

사용법 :

Console.Write("Press 'Y' to continue."); 
WaitForKey(ConsoleKey.Y); 
+0

내가 틀렸다면 정정하십시오. 그러나 입력 된 내용이 무엇이든지 상관없이 계속 진행할 수 있습니까? –

+0

@NortonTaylor 계속하려면 * press enter라고 말한 후에 이상하게 보일 것입니다! * – user845279

+0

@NortonTaylor : 입력 한 텍스트가 무엇이든 상관없이 계속할 수 있습니다. 사용자가 실제로 Enter를 누르기 전까지는 계속되지 않습니다. 어쨌든, 임의의 키를 기다리는 방법의 예를 추가했습니다. –

6

Console class 읽고 '콘솔'

에 기록하는 데 필요한 모든 방법을 포함

예 :

Console.Write("Press Enter to continue!") 
do 
{ 
    ConsoleKeyInfo c = Console.ReadKey(); 
} while (c.Key != ConsoleKey.Enter); 
+0

Brilliant 감사합니다! –

0

이벤트가 발생합니다.

private void OnKeyDownHandler(object sender, KeyEventArgs e) 
{ 
     if (e.Key == Key.Return) 
     { 
      Console.Write("Press Enter to continue!") 
     } 
} 
+0

OP는 이것이 콘솔 응용 프로그램이라고 ... 편집 : 신경 쓰지 마라. .. 당신은 교활한 닌자 편집을 했어! –

+0

그런 경우'Console.ReadKey()'가 가장 좋은 옵션 일 수 있습니다. –