HOW TO:處理方向和解析度變更

更新:2007 年 11 月

下表顯示 .NET Compact Framework 支援的 Pocket PC 和 Smartphone 螢幕方向。尺寸是以像素表示,即寬度 x 高度。

螢幕方向

96 DPI 一般尺寸

192 DPI (高解析度) 一般尺寸

縱向 - 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

您可以使用錨定和停駐,自動調整控制項的大小,使表單內容適應於不同的螢幕方向。錨定會維持與邊緣的指定距離,而停駐則會貼齊父容器 (Container) 的邊緣。

當控制項的 Anchor 屬性的包含控制項或表單調整大小時,這個屬性會判斷它的調整大小行為。控制項的 Dock 屬性指定要貼齊其包含控制項的哪些邊緣。

錨定和停駐在 .NET Compact Framework 和完整 .NET Framework 都具有相同的行為。

您可以自訂應用程式,以適應不同的 DPI (Dots Per Inch) 像素解析度設定。

若要處理螢幕方向變更

  • 您可以將應該位於表單特殊區域的控制項放在容器控制項中,如 Panel,然後將 PanelDock 屬性設定為所需的邊緣。

  • 若要維護控制項相對於其表單側邊的適當大小和位置,請將控制項上的 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 列舉型別所指定的 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;
    

    這些陳述式顯示正在對解析度為 96 DPI 的裝置開發的應用程式,以及顯示使用 DPI 模式執行自動調整。請注意,96 DPI 是從執行 Visual Studio 2005 的桌上型電腦取得的預設值。設計工具會自動產生這個程式碼,而且表單上的控制項將自動調整,以處理不同的 DPI 設定。

    如果您的應用程式包含以 OnPaint 方法繪製的圖形,則它們將不會自動調整。您將需要使用 Graphics 物件的 DpiXDpiY 屬性,來判斷適當的調整。請參閱使用 LogFont 的旋轉文字範例取得手動調整的範例。

請參閱

工作

HOW TO:將控制項和表單邊緣對齊

概念

Windows Form 中的自動縮放比例

其他資源

.NET Compact Framework 中的 Windows Form 控制項