坐标系统(针对 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 时,窗体和控件的 Height 和 Width 属性会自动转换为用像素表示。
如果原来的应用程序使用 ScaleMode 属性,则升级工具假定 ScaleMode 属性的设计时设置为缇;如果不是这样,转换将不正确且必须进行修复。有关更多信息,请参见 不支持 ScaleMode。