2014-03-12 2 views
0

편집 : 이해할 수 있도록 질문을 다시 작성했습니다.문자열로 눌린 키 읽기

내 메인 윈도우에 이벤트 핸들러를 등록 했으므로 WPF 응용 프로그램에서 특정 누른 키를 캡처하려고합니다.

public MainWindow() 
{ 
    InitializeComponent(); 
    this.KeyDown += new KeyEventHandler(OnButtonKeyDown); 
} 

이벤트 핸들러 자체는 다음과 같습니다.

private void OnButtonKeyDown(object sender, KeyEventArgs e) 
{ 
    // I'd like the char value here. 
} 

내 문제는 내가 누를 키의 문자를 추출 할 수 아니에요 것입니다. 키 코드 만. KeyEventArgs에는 분명히 그런 속성이 없습니다.

해결책이 있습니까?

+0

'var keyPress = Console.Read()'를 사용하지 않겠습니까? 어쩌면 내가 여기에 당신의 목표를 놓치고있어 ... –

+0

문자 값을 원했습니까? 어떤 경우에는'Console.WriteLine ("Your key is : {0}", (int) keypress.KeyChar)' –

+0

글쎄 ... 누군가가 질문을 편집하여 더 이상 WPF 응용 프로그램이 아니라 콘솔 응용 프로그램 – Anders

답변

3

저는 e.Key.ToString() 줄을 사용하여 키의 문자 값을 가져와야한다고 생각합니다. 그런 다음 Char.TryParse (string input, out charValue)를 사용하여 "Numpad0"과 같은 유효한 문자가 아닌지 확인합니다.

+0

일부 키에서는 작동하지만, 이렇게하면 0 대신에 'Numpad0'과 같은 결과를 얻을 수도 있습니다. – Anders

+0

내 답변에 추가 설명을 참조하십시오. – Beaker