본문 바로가기

컴퓨터 IT

C# 텍스트박스(TextBox)에서 엔터키 입력 처리 방법

C# WinForms 애플리케이션에서 텍스트박스에 엔터키를 입력했을 때 특정 동작을 처리하고 싶으신가요?

 

이번 글에서는 KeyPress 이벤트와 KeyDown 이벤트를 활용해 간단하고 효율적으로

엔터키 입력을 처리하는 방법을 소개합니다.

 

1. WinForms에서 엔터키 입력 처리 방법

WinForms에서는 텍스트박스(TextBox)에서 KeyPress 또는 KeyDown 이벤트를 사용하여

엔터키 입력을 확인하고 처리할 수 있습니다.

 

각 이벤트의 특징과 구현 방법을 아래에서 자세히 알아보겠습니다.

 

1.1 KeyPress 이벤트 활용

KeyPress 이벤트는 사용자가 키를 누를 때 발생하며, `KeyChar` 속성을 통해 입력된 키를 확인합니다.

 

1
2
3
4
5
6
7
private void textBox1_KeyPress(object sender, KeyPressEventArgs e) 
{
    if (e.KeyChar == (char)Keys.Enter) // 엔터키 확인 
    { 
        MessageBox.Show("엔터키가 눌렸습니다!"); 
    } 
}
cs

KeyPress 이벤트는 단순한 키 입력 확인에 적합하지만, Shift, Ctrl, Alt와 같은 조합 키에는 반응하지 않습니다.

 

 

1.2 KeyDown 이벤트 활용

KeyDown 이벤트는 키가 눌릴 때 발생하며, `KeyEventArgs`를 통해 더 다양한 키 정보를 확인할 수 있습니다.

 

1
2
3
4
5
6
7
8
private void textBox1_KeyDown(object sender, KeyEventArgs e) 
    if (e.KeyCode == Keys.Enter) // 엔터키 확인 
    { 
        MessageBox.Show("엔터키 입력 처리!");
    }
 
cs

KeyDown 이벤트는 `Shift`, `Ctrl`, `Alt`와 같은 키 조합을 처리하거나, 키가 눌릴 때 다른 동작을 실행해야 할 경우 유용합니다.

 

2. KeyPress vs. KeyDown: 어떤 것을 선택할까?

특징 KeyPress KeyDown
발생 시점 키 입력 시 키 눌림 시
지원 키 문자 키(알파벳, 숫자 등) 모든 키(조합 키 포함)
조합 키 처리 불가능 가능
사용 용도 단순 문자 입력 확인 다양한 키와 키 조합 처리

필요에 따라 적합한 이벤트를 선택해 사용하세요.

 

 

3. 텍스트박스에서 엔터키를 버튼 동작으로 연결

 

1
2
3
4
5
6
7
8
9
10
11
12
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.Enter)
    {
        button1_Click(sender, EventArgs.Empty);
    }
}
 
private void button1_Click(object sender, EventArgs e)
{
    MessageBox.Show("버튼클릭!");
}
cs

 

 

C# WinForms에서 텍스트박스의 엔터키 입력 처리는

KeyPress와 KeyDown 이벤트를 통해 간단하게 구현할 수 있습니다.