2014-10-20 3 views
-2

WinForm 응용 프로그램이 있습니다. 나는 그 안에 기능을 가지고있다. 그리고이 기능에서 잠시 멈추고 사용자가 "enter key"를 누를 때까지 기다리 길 원합니다.WinForms 프로그램을 대기 상태로 만드는 방법 (예 : "enter"를 누름)?

나는 특정 키보드 키를 누를 때까지 기다리는 무한 루프를 기대하고 있나?

또 다른 작은 질문은 System.Threading.Thread.Sleep 이외의 시간 동안 다른 기능을 중지하는 방법이 있습니까?

+1

이 질문은 콘솔 응용 프로그램에는 의미가있을 수 있지만 Windows 응용 프로그램에는 어떻게 적용됩니까? –

+7

Windows GUI 프로그래밍은 이벤트 기반입니다. 키가 눌려 졌음을 나타내는 이벤트에 응답하십시오. 콘솔 앱용 동기식 프로그래밍과 이벤트 기반 GUI 프로그래밍의 차이를 실제로 파악하지 못했던 것 같습니다. 훨씬 더 나아 가기 전에 그 위에 올라 설 필요가 있습니다. –

답변

2

당신은 무시하고 ProcessDialogKey를 구현해야합니다 :

protected override bool ProcessDialogKey(Keys keys) 
{ 
    if (keys == Keys.Enter) 
    { 
     // do your stuff 
    } 

    base.ProcessDialogKey(keys); 
} 

또 다른 옵션은, 버튼을 만들 폼의 기본 및 AcceptButton로 설정하는 것입니다. Enter 키를 누르면 Click 이벤트 핸들러가 호출됩니다.

관련 문제