2009-08-07 3 views
3

사용자 정의 컨트롤이있는 양식이 있습니다. 사용자 지정 컨트롤에 포커스가 있다고 가정합니다. 해당 양식에서 메시지 상자를 표시 할 경우 OK 또는 취소 단추 중 하나에서 Enter 키를 눌러 메시지 상자를 닫으면 메시지 상자가 닫히고 사용자 지정 컨트롤에서 Enter 키를 사용하여 키보드 이벤트 (OnKeyUp)를 가져옵니다. 키.MessageBox, C#, Windows Forms에서 사용하지 않는 키 입력

공간 키를 사용하여 확인 또는 취소 버튼 을 "누르는"경우에는 이런 일이 발생하지 않습니다.

MessageBox가 의 Enter 키를 사용하지 않는 것과 같은 이유가 있습니다. 양식의 KeyPreview 속성 이 켜져 있었지만 차이점은 없었습니다.

누구든지 메시지 입력 버튼을 누르는 방법을 알고 있습니까? MessageBox 버튼을 누르는 것이 좋습니다.

+0

답변 해 주셔서 감사합니다. 예, 무시할 수 있지만 대부분의 경우 해당 이벤트가 필요합니다. 이전 두 이벤트가 메시지 상자에서 사용되었으므로 OnKeyUp 대신 OnKeyDown 또는 OnKeyPressed를 사용하는 것으로 나타났습니다. – NXT

답변

3

코드에서 무시할 수 없습니까? 난이 도움이되기를 바랍니다, 내가 당신을 위해 C 번호에 VB.NET에서 거친 변환을 수행 한

Private Sub frmEdit_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyUp 
    If e.KeyCode = Keys.Enter Then 
     e.Handled = True 
    End If 
End Sub 
2

: 이것은 VB 구문입니다.

private void frmEdit_KeyUp(ByVal object sender, KeyEventArgs e) 
{ 
    if(e.KeyCode == Keys.Enter) 
     { 
     e.Handled = true; 
     } 
    else Application.DoEvents(); 
} 
관련 문제