반응형
private void txtYourTextBox_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter) e.SuppressKeyPress=true; }1. KeyDown/KeyUp 핸들러에서 Handled 속성을 true로 설정하면 KeyPress로 처리되는 문자를 제외한 키 입력 처리가 되지 않는다.
즉, 문자열 입력은 정상적으로 되지만 방향키나 Home/End 등이 제대로 동작하지 않는다. 엔터키의 경우는 문자열로 취급되기 때문에 KeyPress가 호출되어 전달은 되지만 시스템적인 처리(라인피드 등)는 되지 않는다.
2. KeyPress 핸들러에서 Handled 속성을 true로 설정하면 C# TextBox(Rich 포함)에서 문자 출력이 되지 않는다.
3. KeyDown/KeyUp 어디서든 SuppressKeyPress 값이 true가 되면 해당 메시지가 아예 처리되지 않는다. 따라서 KeyPress도 자연스럽게 발생하지 않는다. KeyPressEventArgs에는 SuppressKeyPress 속성이 없다.
반응형
'코딩 > C#' 카테고리의 다른 글
[C#] Global Keyboard Hooking (0) | 2017.03.23 |
---|---|
[C#] 스크롤 이벤트 (0) | 2017.02.22 |
[코딩] 3 (0) | 2017.01.24 |
[코딩] 2 (0) | 2017.01.24 |
[코딩] 1 (0) | 2017.01.24 |