■WPF에서
private void TextBox_KeyDown(object sender, KeyEventArgs e)
{
((TextBox)sender).Text = e.Key.ToString();
//논리적 Focus 해제 - TextBox의 LostFocus 이벤트가 실행
FocusManager.SetFocusedElement(FocusManager.GetFocusScope((TextBox)sender), null);
//키보드 Focus 해제 - 창에서 커서 깜빡임이 해제
Keyboard.ClearFocus();
}
TextBox에 한글자 입력 후 포커스가 해제되어야 하는 경우에 사용했습니다.
Keyboard.ClearFocus(); 만으로 커서깜빡임이 해제되지만
TextBox의 LostFocus 이벤트가 실행될 필요가 있다면 FocusManager를 통해 논리적으로 Focus 해제를 하는 것이 추가로 필요합니다.
■윈폼에서
this.ActiveControl = null;
이 한줄로 포커스가 해제되고 LostFocus 혹은 Leave 이벤트가 실행됩니다.
'프로그램 개발 > 코딩자료' 카테고리의 다른 글
c# 실행파일의 폴더경로 (1) | 2022.09.04 |
---|---|
[WPF] ListBox에서 우클릭시 커서위치의 ListBoxItem에 ContextMenu 열기 (0) | 2022.09.01 |
[C] 비주얼스튜디오에서 stdio.h 에러 (1) | 2022.04.20 |
[WF] 윈폼프로젝트 폼 숨긴채 실행하기 (0) | 2022.04.12 |
[C#] 어셈블리 정보 작성은 어떻게 해야할까 (0) | 2022.04.10 |