坐标系统(针对 Visual Basic 6.0 用户)

更新:2007 年 11 月

在 Visual Basic 2008 中表示窗体和控件坐标的方法与 Visual Basic 6.0 中不同;用于调整窗体大小和移动窗体的方法也不同。

概念差异

在 Visual Basic 6.0 中,窗体和控件的坐标用缇表示。在 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 只支持单个坐标系统(以像素表示)。Visual Basic 2008 中不支持 ScaleMode 及其相关属性和方法(Scale、ScaleHeight、ScaleLeft、ScaleTop、ScaleWidth、ScaleX 和 ScaleY)。有关更多信息,请参见 不支持 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 属性的设计时设置为缇;如果不是这样,转换将不正确且必须进行修复。有关更多信息,请参见 不支持 ScaleMode

请参见

概念

窗体对象(针对 Visual Basic 6.0 用户)

其他资源

适用于 Visual Basic 6.0 用户的 Windows 窗体控件

控件属性、方法和事件的更改(针对 Visual Basic 6.0 用户)