방법: Windows Forms의 화면 위치 설정
Location 속성 값을 입력하여 컴퓨터 화면에서 폼이 표시되는 위치를 지정할 수 있습니다. 이 속성은 폼의 왼쪽 위 모퉁이 위치를 픽셀 단위로 지정합니다. 또한 표시 영역의 경계를 나타내려면 StartPosition속성을 설정해야 합니다.
참고
화면 크기와 해상도는 시스템에 따라 다릅니다. 또한 여러 대의 모니터가 연결되어 있는 시스템은 표시 영역의 경계를 인식하는 데 문제가 있을 수도 있습니다. 이러한 두 가지 문제 때문에 Location 속성 설정에 관계없이 폼의 위치가 변경되는 경우도 있습니다. 이런 이유로 Windows 응용 프로그램에 대한 StartPosition 속성의 기본 설정은 WindowsDefaultLocation입니다. 이 값으로 설정되면 운영 체제가 현재 하드웨어를 기반으로 최적의 폼 시작 위치를 계산합니다. 다른 방법은 StartPosition 속성을 Center로 설정한 다음 코드로 폼의 위치를 변경하는 것입니다. 자세한 내용은 아래의 "프로그래밍 방식으로 폼의 위치 지정하려면"을 참조하십시오.
속성 창을 사용하여 폼의 위치를 지정하려면
속성 창의 드롭다운 목록에서 폼을 선택합니다. 폼의 StartPosition 속성을 Manual로 설정합니다.
쉼표로 구분되는 Location 속성 값을 입력하여 폼의 위치를 지정합니다. 첫 번째 숫자(X)는 표시 영역의 왼쪽 테두리부터의 거리이고 두 번째 숫자(Y)는 표시 영역의 위쪽 테두리부터의 거리입니다.
프로그래밍 방식으로 폼의 위치를 지정하려면
다음 예제에서와 같이 런타임에 폼의 Location 속성을 Point로 설정하여 폼의 위치를 정의합니다.
Form1.Location = New Point(100, 100)
Form1.Location = new Point(100, 100);
Form1.set_Location(new Point(100, 100));
Form1->Location = Point(100, 100);
또는
X 좌표에는 Left 속성을 사용하고 Y 좌표에는 Top 속성을 사용하여 폼 위치의 X 좌표 또는 Y 좌표를 변경합니다. 다음 예제에서는 폼의 X 좌표를 300픽셀 포인트로 조정합니다.
Form1.Left = 300
Form1.Left = 300;
Form1.set_Left(300);
Form1->Left = 300;
프로그래밍 방식으로 폼의 위치를 늘리려면
Left 속성을 사용하여 폼의 X 좌표를 늘립니다. 다음 예제에서는 폼의 X 좌표를 200픽셀만큼 조정합니다.
Form1.Left += 200
Form1.Left += 200;
Form1.set_Left(Form1.get_Left() + 200);
Form1->Left += 200;
참고
Location 속성을 사용하여 Windows Form의 X 및 Y 위치를 동시에 설정합니다. 이 위치를 개별적으로 설정하려면 폼의 Left(X) 또는 Top(Y) 속성을 사용합니다. 폼의 위치를 나타내는 Point 구조체는 폼의 좌표에 대한 복사본을 가지고 있으므로 이 구조체의 X 좌표와 Y 좌표를 암시적으로 설정하지 마십시오.
Location 속성 대신 DesktopLocation 속성을 사용하여 폼의 위치를 설정할 수도 있습니다. 이 속성은 폼의 위치를 작업 표시줄에 대한 상대적 위치로 설정하기 때문에 작업 표시줄이 사용자 모니터의 위쪽 또는 왼쪽에 도킹되어 있는 경우 유용합니다. 위쪽 또는 왼쪽에 작업 표시줄을 도킹하면 바탕 화면 좌표 (0, 0)이 보이지 않습니다. 그러나 DesktopLocation속성을 (0, 0)으로 설정하면 폼이 작업 표시줄의 뒤가 아니라 기본 모니터의 왼쪽 위 모퉁이에 항상 나타납니다.
프로그래밍 방식으로 DesktopLocation 속성을 설정하려면
다른 속성과 같은 방식으로 DesktopLocation 속성을 설정합니다. 다음 예제에서는 Accounts 폼의 새 위치를 설정합니다.
Dim frmAccounts as new Form() Set FrmAccounts.DesktopLocation = new Point(100,100)
Form frmAccounts= new Form(); frmAccounts.DesktopLocation = new Point(100,100);
Form frmAccounts = new Form(); frmAccounts.set_DesktopLocation(new Point(100, 100));
Form^ frmAccounts= gcnew Form(); frmAccounts->DesktopLocation = Point(100,100);
참고
DesktopLocation 속성은 속성 창에는 나타나지 않고 코드로만 설정할 수 있습니다.