본문 바로가기

코딩/C#

[코딩] Linefeed 방지

반응형
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