共用方式為


Visual Basic 6.0 使用者可用的座標系統

更新:2007 年 11 月

表單和控制項的座標在 Visual Basic 2008 中的表示方法和 Visual Basic 6.0 中的不同,而調整表單大小和移動表單的方法也不同。

概念上的差異

在 Visual Basic 6.0 中,表單和控制項的座標是以 Twip 表示。Visual Basic 2008 中則是以像素表示座標。

Height 和 Width 屬性

在 Visual Basic 6.0 中,Height 和 Width 屬性可用於變更表單或控制項的大小。Visual Basic 2008 會提供 Size 屬性,讓您也可於單一步驟中同時變更高度和寬度。

Move 方法

Visual Basic 6.0 使用 Move 方法,於執行階段變更表單或控制項的位置。在 Visual Basic 2008 中,Move 已經由 SetBounds 方法取代,並以像素表示座標。

ScaleMode 屬性

Visual Basic 6.0 也提供可以用於定義不同座標系統的 ScaleMode 屬性。Visual Basic 2008 僅支援單一座標系統,即像素。ScaleMode 與其相關的屬性和方法 (Scale、ScaleHeight、ScaleLeft、ScaleTop、ScaleWidth、ScaleX、ScaleY) 在 Visual Basic 2008 中已不支援。如需詳細資訊,請參閱不支援 ScaleMode

座標的程式碼變更

下列程式碼將說明 Visual Basic 6.0 與 Visual Basic 2008 之間的程式撰寫技巧差異。

調整表單的大小

下列範例會顯示如何在執行階段變更表單的大小。

' Visual Basic 6.0
' Measurements are in twips.
Me.Width = 8000
Me.Height = 6000
' Visual Basic
' Measurements are in pixels.
Me.Size = New System.Drawing.Size(640, 480)

移動控制項

下列範例會顯示如何在執行階段移動控制項。

' Visual Basic 6.0
' Move and retain original size.
CommandButton2.Move 2000, 1000
' Move and resize to 1200 by 800 twips.
CommandButton1.Move 0, 0, 1200, 800
' Visual Basic
' Move and retain original size.
Button2.SetBounds(20, 10, 0, 0, BoundsSpecified.X Or BoundsSpecified.Y)
' Move and resize to 120 by 80 pixels.
Button1.SetBounds(0, 0, 120, 80)

升級注意事項

當 Visual Basic 6.0 應用程式升級為 Visual Basic 2008 時,表單和控制項的 HeightWidth 屬性會自動轉換為像素。

如果原本的應用程式已使用 ScaleMode 屬性,升級工具就會假設 ScaleMode 屬性的設計階段設定是 Twip。如果不是,將無法正確轉換,而且必須修復錯誤。如需詳細資訊,請參閱不支援 ScaleMode

請參閱

概念

Visual Basic 6.0 使用者可用的 Form 物件

其他資源

Visual Basic 6.0 使用者可用的 Windows Form 控制項

Visual Basic 6.0 使用者可用的控制項屬性、方法和事件變更