2013-04-02 5 views
0

바코드 스캐너에서 실행되는 Windows 양식 응용 프로그램을 코딩하고 있습니다.
플랜트 폼은 .Net2.0CF/C#입니다.
메시지 상자별로 사용자 입력을 중지하고 Enter 키 다운으로 건너 뛰기를 원합니다.

내가 원하는 것은 사용자가 잘못 입력 할 때마다 사용자가 화면에서 확인을 클릭 할 때까지 메시지 상자를 팝업으로 표시하고 다음 입력 (실제로는 검색 작업)을 차단합니다.


하지만 그들은 아무 잘못 찾을 수 없습니다로 일반적으로 사용자가 계속해서 다음 물건을 스캔, 이것은 이 한 단어 때문에 메시지 박스가 종료됩니다를를 keyDown 입력 삽입합니다, 메시지 박스는 중지되지 않습니다 사용자.

어떻게 코딩 할 수 있습니까? 다음은 매우 간단한 코드 당신은 오류 메시지를 표시 자신의 창 (양식)를 만들 수 있습니다

private void tb_KeyDown(object sender, KeyEventArgs e) 
{ 
    if (e.KeyCode.ToString() == "Return") 
    { 
    if(!ValidateInput(tb.Text)) 
    MessageBox.Show("Error"); 
    } 
} 

답변

1

니펫이지만, 입력 키에 반응하지 않습니다.

사용자가 (작성한대로) 클릭 할 수있는 버튼이 있어야하지만 창을 표시 할 때 버튼에 포커스가 없는지 확인해야합니다. (포커스가있는 경우 리턴 키를 누르면 버튼을 클릭하게됩니다.)

이 작업을 수행하는 간단한 방법은 TabStop이 true (예 : 텍스트 상자 및 다른 버튼)로 설정된 다른 컨트롤을 추가하는 것입니다. 버튼보다 낮은 TabIndex 속성

또한, 아마도 당신이 수행 할 수있는

System.Media.SystemSounds.Beep.Play(); 

창에 사용자의 관심을 끌기 위해 창을 표시합니다.

+0

감사합니다. 지금 당장 회신 해 주신 데 대해 감사드립니다. – user622851