programing

Windows Forms-Enter 키를 누르면 제출 버튼이 활성화됩니까?

nasanasas 2020. 9. 15. 07:54
반응형

Windows Forms-Enter 키를 누르면 제출 버튼이 활성화됩니까?


양식의 아무 곳에서나 Enter 키 누르기를 캡처하고 강제로 제출 단추 이벤트를 발생시킬 수 있습니까?


Form의 AcceptButton 속성을 Form의 Buttons 중 하나로 설정하면 기본적으로 해당 동작이 나타납니다.

그렇지 않으면 Form에서 KeyPreview 속성을 True로 설정하고 KeyDown 이벤트를 처리합니다. Enter 키를 확인하고 필요한 조치를 취할 수 있습니다.


폼의 속성에서 "AcceptButton"으로 단추를 지정할 수 있으며, 그러면 폼에서 "Enter"키 누름을 포착하여 해당 컨트롤로 라우팅합니다.

참조 이 MSDN 문서를 하고 (등 멀티 라인 텍스트 박스)는 설명 몇 가지 예외주의


private void textBox_KeyDown(object sender, KeyEventArgs e) {
    if (e.KeyCode == Keys.Enter){
        button.PerformClick();
    }
}

이전에 언급 한 바와 같이, 양식의 설정 AcceptButton의 의 버튼 중 하나에 속성을하고 SET DialogResult를의 해당 버튼의 속성 DialogResult.OK을 대화 수락 또는 기각 된 경우 알고 발신자의 순서.


텍스트 상자의 KeyUp 이벤트를 구독 할 수 있습니다.

private void txtInput_KeyUp(object sender, KeyEventArgs e)
{

    if(e.KeyCode == Keys.Enter)
       DoSomething();

}

Form에는 키 누르기를 가로채는 데 사용할 수 있는 KeyPreview 속성이 있습니다.


양식의 KeyPreview 속성을 True로 설정 한 다음 양식 수준에서 KeyPress 이벤트를 사용하여 Enter 키를 감지합니다. 감지시 "제출"버튼에 대한 코드를 호출하십시오.


  if (e.KeyCode.ToString() == "Return")
  { 
      //do something
  }

간단히 사용

this.Form.DefaultButton = MyButton.UniqueID;  

** 'MyButton'대신 버튼 ID를 입력합니다.

참고 URL : https://stackoverflow.com/questions/164903/windows-forms-enter-keypress-activates-submit-button

반응형