2017-03-31 6 views
-4

간단한 질문이지만이를 수행하는 방법을 알 수 없습니다.공백이있는 메시지 상자 닫기

입력란에 잘못된 데이터 유형/형식을 포착하여 나타나는 "확인"버튼 하나만있는 메시지 상자가 있습니다.

나는 내가 확인 이벤트의 일종을 필요 추측 공간 (만 공간)

을 누른 후 "OK"버튼을 누르면됩니다 원하는 공간 버튼이에 (만) 누르면 메세지 박스. 그러나 어쨌든 그러한 단순한 작업에 대해서는 다소 불만족스러워 보입니다.

+0

키 누르기 이벤트가 있습니다. http://stackoverflow.com/questions/19076051/how-to-use-keypressevent-in-correctway – Vijay

+1

내장 Windows Forms MessageBox입니까? – stuartd

+2

간단한 대답은 할 수 없다는 것입니다. 'Form'을 사용하여 자신의'MessageBox'를 만들지 않고'KeyPress' 이벤트를 처리합니다. – ThePerplexedOne

답변

0

글쎄, 태그에서 추측. 나는 C#의 Window Forms에 대해 이야기하고 있다고 생각합니다. 예, 그렇게 할 수있는 방법이 있습니다. 메시지 상자만큼 간단하지는 않습니다. 당신이 할 수있는 일은 다음과 같습니다

  • Form를 만들고
  • MessageBox
  • 무시처럼 PreviewKeydown 이벤트 핸들러를 디자인 (또는 오버라이드 (override) KeyPress 이벤트 핸들러도 작동합니다) 그리고 그 때 Space을 경우 일치 키를 누릅니다.

샘플 코드는 당신에게 아이디어를 제공하기 위해 다음과 같습니다 : 당신으로

  • :

    switch (e.KeyCode) 
    { 
        case Keys.Space: 
         //Call The Event handler for Ok Button 
         e.Handled = true; 
         e.Suppressed = true; 
         break; 
    } 
    

    (당신은 또한 재정의 PreviewKeyDown 이벤트를위한 새로운 이벤트 핸들러를 대신 만들 수 있습니다를.) 메시지 상자로 표시하려면 Show() 메서드 대신 폼을 표시 할 때 ShowDialog()을 사용하십시오.