방법: 방향 및 해상도 변경 처리
업데이트: 2007년 11월
다음 표에서는 .NET Compact Framework에서 지원하는 Pocket PC와 Smartphone의 화면 방향을 보여 줍니다. 크기는 픽셀 단위의 너비 x 높이로 나타냅니다.
화면 방향 |
96dpi 표준 크기 |
192dpi(고해상도) 표준 크기 |
---|---|---|
세로 방향 - Pocket PC 세로 방향 - Smartphone |
240 x 320 176 x 220 및 240 x 320 |
480 x 640 352 x 440 및 480 x 640 |
가로 방향 - Pocket PC만 해당 |
320 x 240 |
640 x 480 |
정사각형 - Pocket PC만 해당 |
240 x 240 |
480 x 480 |
앵커 설정과 도킹을 사용하면 폼 내용이 여러 화면 방향에 적합하게 되도록 컨트롤 크기를 자동으로 조정할 수 있습니다. 앵커 설정은 가장자리에서 지정된 거리를 유지하는 반면, 도킹은 부모 컨테이너의 가장자리에 맞춰집니다.
컨트롤의 Anchor 속성은 포함하는 컨트롤이나 폼의 크기가 조정될 때의 크기 조정 동작을 결정합니다. 컨트롤의 Dock 속성은 포함하는 컨트롤의 어떤 가장자리가 부착되는지 지정합니다.
.NET Compact Framework에서 앵커 설정과 도킹은 전체 .NET Framework에서와 동일하게 동작합니다.
응용 프로그램을 다양한 dpi(인치당 도트 수) 픽셀 해상도 설정에 맞도록 사용자 지정할 수 있습니다.
화면 방향 변경을 처리하려면
폼의 특정 영역에 있어야 하는 컨트롤을 Panel 같은 컨테이너 컨트롤에 넣은 다음 Panel의 Dock 속성을 원하는 가장자리로 설정할 수 있습니다.
컨트롤의 적절한 크기와 위치를 해당 폼의 가장자리에 상대적으로 유지하려면 컨트롤의 Anchor 속성을 원하는 위치로 설정합니다.
예를 들어, 단추가 항상 오른쪽 아래 구석에 나타나고 크기를 유지하도록 하려면 다음 문을 사용합니다.
Me.Button1.Anchor = AnchorStyles.Bottom Or AnchorStyles.Right
this.button1.Anchor = AnchorStyles.Bottom | AnchorStyles.Right;
Microsoft Visual Studio 2005의 속성 창에서 앵커 및 도킹 설정을 설정할 수 있습니다.
화면 방향을 변경하려면
Pocket PC에서 Windows Mobile 버전 5.0이 실행되고 있으면 화면 방향을 ScreenOrientation 열거형에 지정된 대로 세로 방향 0도에서 90도, 180도 및 270도로 변경할 수 있습니다. 예를 들어, 다음 문은 가로 방향을 설정합니다.
SystemSettings.ScreenOrientation = ScreenOrientation.Angle270
SystemSettings.ScreenOrientation = ScreenOrientation.Angle270;
화면 방향은 응용 프로그램만 아니라 장치를 변경합니다. 따라서 FormClosing 이벤트에 대한 이벤트 처리 코드에서 화면 방향을 원래 설정으로 설정하는 것이 좋습니다.
화면 해상도 변경을 처리하려면
Microsoft Visual Studio 2005에서 스마트 장치 프로젝트를 만들 경우 디자이너는 컨트롤의 배율을 장치의 화면 해상도에 맞게 자동으로 조정하는 코드를 제공합니다. 그렇지 않으면 응용 프로그램을 개발하는 데 사용된 장치와 dpi 해상도가 다른 장치에서 해당 응용 프로그램이 실행되는 경우 폼은 너무 크거나 너무 작게 표시될 수 있습니다. 따라서 폼에서 컨트롤의 배율을 적절하게 조정해야 합니다.
Visual Studio 2005에서 스마트 장치 프로젝트를 만들 때 디자이너는 InitializeComponent 메서드에 다음 문을 추가합니다.
[Visual Basic]
Me.AutoScaleDimensions = New System.Drawing.SizeF(96.0!, 96.0!) Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi
[C#]
this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
이러한 문은 응용 프로그램이 해상도가 96dpi인 장치용으로 개발되었고 DPI 모드를 사용하여 자동 배율 조정이 수행됨을 보여 줍니다. 96dpi는 Visual Studio 2005를 실행하는 데스크톱 컴퓨터에서 가져온 기본값입니다. 디자이너가 자동으로 이 코드를 생성하므로 폼의 컨트롤은 다른 dpi 설정을 처리하도록 자동으로 배율이 조정됩니다.
응용 프로그램에 OnPaint 메서드에서 그린 그래픽이 포함되어 있는 경우 그러한 그래픽은 자동으로 배율이 조정되지 않습니다 Graphics 개체의 DpiX 및 DpiY 속성을 사용하여 적절한 배율을 결정해야 합니다. LogFont를 사용한 텍스트 회전 샘플에서는 수동 배율 조정의 예를 보여 줍니다.