.NET/Windows API for .NET

SetFocus - Window Form및 Control Focus 설정

클리엘 2019. 8. 12. 13:07
728x90

SetFocus함수는 Window Form또는 특정 Control에 Focus가 위치하도록 합니다.

Declare Function SetFocus Lib "user32" Alias "SetFocus" (ByVal hwnd As Integer) As Integer

▶VB.NET 선언

SetFocus(Handle)

▶VB.NET 호출

[DllImport("user32.dll")]
private static extern int SetFocus(int hwnd);

▶C# 선언

SetFocus((int)Handle);

▶C# 호출


SetFocus함수 호출시 인수로 전달하는 값은 Focus를 줄 Window Form의 handle이나 Control의 handle값을 넘겨 주면 됩니다.

만일 함수의 인수로 정수가 아닌 nothing(VB)이나 null(C#)을 전달하면 화면에 표시되어 있는 모든 Window Form과 Control이 Focus를 일제히 잃게 됩니다. 이렇게 되면 사용자가 임의로 Focus를 주지 않는한 Keyboard입력은 어디에도 전달되지 않습니다.

함수가 수행되면 기본적으로 이전에 Focus를 갖고 있던 Window Form의 Handle을 반환하는데 만일 반환값이 Null이면 함수 실행에 실패한 경우로 판단하면 될것입니다.

728x90