[C#] TextBox keyPress 이벤트
2023. 12. 22. 14:55ㆍ카테고리 없음
오늘은 TextBox의 keyPress 이벤트에 대해서 알아보고자 한다.
개발환경은 VisualStudio 2022를 사용하였다.
지난번 트라이(Trie) 자료구조의 개념에 이어 직접 코딩을 진행하였고, 테스트를 위하여 아래와 같이 WinForm을 구성하였다.
먼저, 들어가기 앞서 키보드 이벤트에 대해 간략하게 살펴보자.
키보드 이벤트는 크게 3가지로 구분된다.
- 한번 발생하는 KeyDown 이벤트
- 사용자가 같은 키로 누르고 있을 때 여러 번 발생할 수 있는 KeyPress 이벤트
- 사용자가 키는 놓을 때 한 번 발생하는 KeyUp 이벤트
또한, 이벤트 발생 순서는 다음과 같다.
이번 코딩연습에서는 문장자동완성 기능을 실습하므로 Text에 관련 있는 KeyPress 이벤트를 사용하로 했다.
키보드 이벤트의 더 상세한 내용은 우리의 친구, Microsoft Learn에 친절히 설명되어 있으니 참고하도록 하자.
만들어 놓은 WinForm의 TextBox에서 이벤트를 추가하자.
- TextBox 선택
- 팝업 메뉴에서 "속성" 선택
- "속성" 탭 상단에 [이벤트] 버튼 클릭: 번개 아이콘
- KeyPress 이벤트를 찾아 더블클릭(또는 Enter)
KeyPress 이벤트 함수가 추가되었으면 테스트를 해봐야지.
private void textBox_Input_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == 'a')
{
MessageBox.Show("a");
}
else
{
MessageBox.Show("다른키가 눌림");
}
}
간단한 코드를 추가하여 MessageBox를 통해 키가 제대로 눌렸는지 확인해 보자.
테스트 결과, 소문자 'a'를 눌렀을 경우와, 그렇지 않았을 경우가 제대로 동작함을 알 수 있다.
다음에 할 것? 들
- 텍스트(.txt 든 뭐든)에 있는 단어 데이터 읽어오기
- 트라이(Trie) 함수 구현, Insert, Find
- 사전(Data) 내용, ListView에 전시
- 검색 결과 ListBox에 전시