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

来源:百度文库 编辑:神马文学网 时间:2024/05/01 06:08:20

Visual Basic 6.0 中的 Form 对象在 Visual Basic 2005 中替换为 Form 类。某些属性、方法、事件和常数的名称是不同的,在某些情况下,行为也有所不同。

概念差异

激活和停用事件

在 Visual Basic 6.0 中,ActivateDeactivate 事件仅在窗体间切换时引发。

在 Visual Basic 2005 中,ActivatedDeactivate 事件也会在应用程序间切换时引发。

QueryUnload 事件

在 Visual Basic 6.0 中,QueryUnload 事件采用两个参数(Cancel 和 UnloadMode)。通过查询 UnloadMode 参数,可以确定卸载窗体的原因,然后可取消该操作(如有必要)。

在 Visual Basic 2005 中,QueryUnload 事件替换为 FormClosing 事件;UnloadMode 替换为 CloseReason

Picture 属性

在 Visual Basic 6.0 中,如果位图比窗体小,分配给 Picture 属性的图像则显示在窗体左上角。

在 Visual Basic 2005 中,Picture 属性替换为 BackgroundImage 属性;如果分配给 BackgroundImage 属性的图像比窗体小,默认情况下则平铺该图像。

Moveable 属性

在 Visual Basic 6.0 中,窗体的 Moveable 属性可以设置为 False,以防止用户在运行时移动窗体。Visual Basic 2005 中的 Windows 窗体没有等效属性。

尽管这通常被认为是不理想的用户界面设计,但在 Visual Basic 2005 中可以实现类似的行为,方法是将 FormBorderStyle 属性设置为 None,将 ControlBox 属性设置为 False

ValidateControls 方法

在 Visual Basic 6.0 中,ValidateControls 方法用于强制执行关闭窗体时具有焦点的控件的 Validate 事件;如果 Validate 事件失败,则引发错误。

在 Visual Basic 2005 中,ValidateControls 方法替换为 Validate 方法,后者返回 TrueFalse

MDI 窗体的鼠标事件

在 Visual Basic 6.0 中,MDI 窗体支持鼠标事件。在 Visual Basic 2005 中,MDI 窗体不再支持 ClickMouseDownMouseMoveMouseUp 事件,因为 MDI 窗体没有接收鼠标事件的工作区。

窗体对象的代码更改

下面的示例演示 Visual Basic 6.0 和 Visual Basic 2005 在编码方法上的不同之处。

确定窗体关闭原因的代码更改

下面的代码可帮助确定窗体关闭的原因,并确定如何根据原因操作。在 Visual Basic 6.0 示例中,使用的是 QueryUnload 事件的 UnloadMode 参数。在 Visual Basic 2005 示例中,该参数替换为 FormClosing 事件处理程序中的 CloseReason 参数。

  复制代码
' Visual Basic 6.0            Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)            If UnloadMode = vbFormControlMenu Then            Cancel = True            End If            End Sub
Visual Basic  复制代码
' Visual Basic 2005            Private Sub Form1_FormClosing(ByVal sender As System.Object, _            ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles _            MyBase.FormClosing            If e.CloseReason.UserClosing Then            e.Cancel = True            End If            End Sub            

窗体关闭时验证控件的代码更改

下面的代码演示窗体关闭时如何强制验证具有焦点的控件。此示例假定 TextBox 控件的 CausesValidation 属性设置为默认值 True

  复制代码
' Visual Basic 6.0            Private Sub Text1_Validate(Cancel As Boolean)            If Text1.Text = "" Then            MsgBox ("Please enter a name")            Cancel = True            End If            Private Sub Form_Unload(Cancel As Integer)            OnError GoTo ERR_HANDLER            Me.ValidateControls            ERR_HANDLER:            ' If validation failed cancel the Unload event.            If Err.Number = 380 Then            Cancel = True            End If            End Sub
Visual Basic  复制代码
' Visual Basic 2005            Private Sub TextBox1_Validating(ByVal sender As Object, ByVal e As _            System.ComponentModel.CancelEventArgs) Handles TextBox1.Validating            If TextBox1.Text = "" Then            MsgBox("Please enter a name")            e.Cancel = True            End If            End Sub            
Visual Basic  复制代码
Private Sub Form1_FormClosing(ByVal sender As System.Object, ByVal e _            As System.Windows.Forms.FormClosingEventArgs) Handles _            MyBase.FormClosing            ' If validation failed cancel the Closing event.            If Me.Validate = False Then            e.Cancel = True            End If            End Sub            

窗体对象属性、方法和事件的等效项

下面几个表列出了 Visual Basic 6.0 中的属性、方法和事件及它们的 Visual Basic 2005 属性。具有相同的名称和行为的属性、方法和事件未予列出。如果适用,常数在属性或方法的下面缩进。除非另外说明,否则所有 Visual Basic 2005 枚举都映射到 System.Windows.Forms 命名空间。

根据需要提供了解释行为差异的主题链接。如果 Visual Basic 2005 中没有直接等效项,则提供指向介绍替换项的主题的链接。

Form 属性

Visual Basic 6.0 Visual Basic 2005 等效项

Appearance

新的实现。有关更多信息,请参见 Appearance 和 BorderStyle 属性(针对 Visual Basic 6.0 用户)。

AutoRedraw

新的实现。有关更多信息,请参见图形(针对 Visual Basic 6.0 用户)。

BackColor

BackColor

注意

颜色在 Visual Basic 2005 中以不同方式处理。有关更多信息,请参见颜色行为(针对 Visual Basic 6.0 用户)。

BorderStyle

FormBorderStyle

Caption

Text

ClipControls

新的实现。有关更多信息,请参见图形(针对 Visual Basic 6.0 用户)。

Controls

Controls

注意

Visual Basic 2005 中的 Controls 集合存在一些差异。有关更多信息,请参见 Controls 集合(针对 Visual Basic 6.0 用户)。

Count

Count

注意

Visual Basic 2005 中的 Controls 集合存在一些差异。有关更多信息,请参见适用于 Visual Basic 6.0 用户的 Windows 窗体控件。

CurrentX

CurrentY

新的实现。有关更多信息,请参见图形(针对 Visual Basic 6.0 用户)。

DrawMode

DrawStyle

DrawWidth

新的实现。有关更多信息,请参见图形(针对 Visual Basic 6.0 用户)。

FillColor

FillStyle

新的实现。有关更多信息,请参见图形(针对 Visual Basic 6.0 用户)。

Font

FontBold

FontItalic

FontName

FontSize

FontStrikethrough

FontUnderline

Font

注意

字体在 Visual Basic 2005 中以不同方式处理。有关更多信息,请参见 Font 对象(针对 Visual Basic 6.0 用户)。

ForeColor

ForeColor

注意

颜色在 Visual Basic 2005 中以不同方式处理。有关更多信息,请参见颜色行为(针对 Visual Basic 6.0 用户)。

HasDC

新的实现。有关更多信息,请参见图形(针对 Visual Basic 6.0 用户)。

HDC

新的实现。有关更多信息,请参见图形(针对 Visual Basic 6.0 用户)。

Height

Height, Size

注意

坐标在 Visual Basic 2005 中以不同方式处理。有关更多信息,请参见坐标系统(针对 Visual Basic 6.0 用户)。

HelpContextID

新的实现。有关更多信息,请参见帮助支持(针对 Visual Basic 6.0 用户)。

HWnd

Handle

Image

新的实现。Visual basic 6.0 中的 Image 属性返回位图的句柄;Visual Basic 2005 中的图像没有句柄。

Left

Left

注意

坐标在 Visual Basic 2005 中以不同方式处理。有关更多信息,请参见坐标系统(针对 Visual Basic 6.0 用户)。

LinkMode

LinkTopic

无等效项。有关更多信息,请参见动态数据交换(针对 Visual Basic 6.0 用户)。

MaxButton

MaximizeBox

MDIChild

MdiParent

注意

Visual Basic 2005 中的 MDI 行为有所不同。有关更多信息,请参见 MDI(针对 Visual Basic 6.0 用户)。

MinButton

MinimizeBox

MouseIcon

新的实现。有关更多信息,请参见无法设置自定义 MousePointer。

MousePointer

Cursor

有关常数的列表,请参见 MousePointer(针对 Visual Basic 6.0 用户)。

Moveable

新的实现。有关更多信息,请参见可移动属性(针对 Visual Basic 6.0 用户)。

Name

Name

NegotiateMenus

新的实现。有关更多信息,请参见菜单对象(针对 Visual Basic 6.0 用户)。

OLEDropMode

新的实现。有关更多信息,请参见拖放(针对 Visual Basic 6.0 用户)。

Palette

PaletteMode

新的实现。有关更多信息,请参见调色板(针对 Visual Basic 6.0 用户)。

Picture

BackgroundImage

注意

在 Visual Basic 6.0 中,Picture 显示在窗体的左上角;在 Visual Basic 2005 中,BackgroundImage 则进行平铺。

RightToLeft:

True

False

RightToLeft

Yes 枚举值

ScaleHeight

ScaleLeft

ScaleMode

ScaleTop

ScaleWidth

新的实现。有关更多信息,请参见坐标系统(针对 Visual Basic 6.0 用户)。

StartUpPosition:

0 – Manual

1 – CenterOwner

2 – CenterScreen

3 – Windows Default

StartPosition

 Manual 枚举值

 CenterParent 枚举值

 CenterScreen 枚举值

 WindowsDefaultLocation 枚举值

Top

Top

注意

坐标在 Visual Basic 2005 中以不同方式处理。有关更多信息,请参见坐标系统(针对 Visual Basic 6.0 用户)。

WhatsThisButton

HelpButton

注意

Visual Basic 2005 中的帮助行为存在一些差异。有关更多信息,请参见帮助支持(针对 Visual Basic 6.0 用户)。

WhatsThisHelp

新的实现。有关更多信息,请参见帮助支持(针对 Visual Basic 6.0 用户)。

Width

Width, Size

注意

坐标在 Visual Basic 2005 中以不同方式处理。有关更多信息,请参见坐标系统(针对 Visual Basic 6.0 用户)。

Form 方法

Visual Basic 6.0 Visual Basic 2005 等效项

Circle

新的实现。有关更多信息,请参见图形(针对 Visual Basic 6.0 用户)。

Cls

新的实现。有关更多信息,请参见图形(针对 Visual Basic 6.0 用户)。

Line

新的实现。有关更多信息,请参见图形(针对 Visual Basic 6.0 用户)。

Move

SetBounds

注意

坐标在 Visual Basic 2005 中以不同方式处理。有关更多信息,请参见坐标系统(针对 Visual Basic 6.0 用户)。

OLEDrag

新的实现。有关更多信息,请参见拖放(针对 Visual Basic 6.0 用户)。

PaintPicture

新的实现。有关更多信息,请参见图形(针对 Visual Basic 6.0 用户)。

Point

新的实现。有关更多信息,请参见图形(针对 Visual Basic 6.0 用户)。

PopupMenu

新的实现。有关更多信息,请参见菜单对象(针对 Visual Basic 6.0 用户)。

PrintForm

新的实现。有关更多信息,请参见打印更改(针对 Visual Basic 6.0 用户)。

Pset

新的实现。有关更多信息,请参见图形(针对 Visual Basic 6.0 用户)。

Scale

ScaleX

ScaleY

新的实现。有关更多信息,请参见坐标系统(针对 Visual Basic 6.0 用户)。

SetFocus

Activate

Show

ShowShowDialog

TextHeight

新的实现。有关更多信息,请参见图形(针对 Visual Basic 6.0 用户)。

TextWidth

新的实现。有关更多信息,请参见图形(针对 Visual Basic 6.0 用户)。

ValidateControls

Validate

注意

Validate 方法返回 TrueFalse;如果验证失败,ValidateControls 则引发错误。

WhatsThisMode

新的实现。有关更多信息,请参见帮助支持(针对 Visual Basic 6.0 用户)。

ZOrder:

 0 – vbBringToFront

 1 - vbSendToBack

BringToFrontSendToBack 函数

 BringToFront

 SendToBack

Form 事件

Visual Basic 6.0 Visual Basic 2005 等效项

Activate

Activated

注意

在 Visual Basic 6.0 中,Activate 事件仅当在应用程序中的窗体间切换时引发;在 Visual Basic 2005 中,切换出其他应用程序时也引发 Activated 事件。

Click

Click

注意

MDI 窗体不支持 Click 事件。

DblClick

DoubleClick

Deactivate

Deactivate

注意

在 Visual Basic 6.0 中,Deactivate 事件仅当在应用程序中的窗体间切换时引发;在 Visual Basic 2005 中,切换出其他应用程序时也引发该事件。

DragDrop

DragOver

新的实现。有关更多信息,请参见拖放(针对 Visual Basic 6.0 用户)。

GotFocus

Enter

Initialize

New 方法

注意

New 方法的行为与 Initialize 事件有所不同。有关更多信息,请参见窗体任务(针对 Visual Basic 6.0 用户)。

LinkClose

LinkError

LinkExecute

LinkOpen

无等效项。有关更多信息,请参见动态数据交换(针对 Visual Basic 6.0 用户)。

MouseDown

MouseDown

注意

MDI 窗体不支持 MouseDown 事件。

MouseMove

MouseMove

注意

MDI 窗体不支持 MouseMove 事件。

MouseUp

MouseUp

注意

MDI 窗体不支持 MouseUp 事件。

OLECompleteDrag

OLEDragDrop

OLEDragOver

OLEGiveFeedback

OLESetData

OLEStartDrag

新的实现。有关更多信息,请参见拖放(针对 Visual Basic 6.0 用户)。

QueryUnload

FormClosing

注意

在 Visual Basic 6.0 中,QueryUnload 采用两个参数(Cancel 和 UnloadMode)。在 Visual Basic 2005 中,Cancel 替换为 Cancel;UnloadMode 替换为 CloseReason

Terminate

Dispose 方法

注意

Dispose 方法的行为与 Terminate 事件有所不同。有关更多信息,请参见 Form 事件(针对 Visual Basic 6.0 用户)。

Unload

FormClosing

注意

FormClosing 事件的行为与 Unload 事件有所不同。有关更多信息,请参见 Form 事件(针对 Visual Basic 6.0 用户)。

请参见

概念

窗体任务(针对 Visual Basic 6.0 用户)

其他资源

Windows 窗体