티스토리 뷰
728x90
통상 대화창에서 [확인] 버튼을 누르면 필요한 작업을 수행하는 것이 보통이지만 텍스트 입력창에서 엔터키를 눌렀을 때 마우스 클릭 없이 바로 대화창을 종료하고 싶은 사용자가 있기 마련이다. 이러한 경우에 처리할 수 있는 방법이다.
대화창의 디자인 편집기를 열고 텍스트 박스를 선택한 다음 위의 그림과 같이 속성창에서 이벤트 아이콘을 클릭한다. 그리고, "KeyDown" 이벤트를 찾아 우측 공간에 더블클릭하여 자동으로 코드를 만들고 다음과 같이 코드를 작성하면 된다.
private void intext_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
gomake_Click(this, new EventArgs());
}
}
입력된 키를 검사해서 엔터키인 경우 이미 작성해 놓은 버튼 클릭 이벤트로 연결하는 것이다.
private void textBox_KeyPress(object sender, KeyPressEventArgs e)
{
if (((e.KeyChar < 48 || e.KeyChar > 57) && e.KeyChar != 8 && e.KeyChar != 46))
{
e.Handled = true;
return;
}
}
엔터키를 검사하는 방법은 텍스트박스에 숫자만 입력하게 하는 방법에도 유사하게 적용할 수 있다. 위의 코드처럼 숫자와 백스페이스가 아니면 이벤트 핸들을 true로 리턴해서 입력을 무시하는 것이다.
728x90
'프로그래밍' 카테고리의 다른 글
리눅스에서 VSCode로 슈퍼유저 UI 디버깅 (0) | 2024.04.25 |
---|---|
VSCode에서 sudo로 디버깅하기 (0) | 2024.04.09 |
QMenu에서 라디오 버튼 방식 메뉴 구현하기 (0) | 2024.01.04 |
QSplitter로 QT 창 나누기 (0) | 2024.01.02 |
파이썬 프로그램 분석 도구 비즈트레이서(VizTracer) 사용하기 (0) | 2023.12.22 |
댓글