窗体对象(针对 Visual Basic 6.0 用户)
来源:百度文库 编辑:神马文学网 时间:2024/05/01 06:08:20
Visual Basic 6.0 中的 Form 对象在 Visual Basic 2005 中替换为
概念差异
激活和停用事件
在 Visual Basic 6.0 中,Activate 和 Deactivate 事件仅在窗体间切换时引发。
在 Visual Basic 2005 中,
QueryUnload 事件
在 Visual Basic 6.0 中,QueryUnload 事件采用两个参数(Cancel 和 UnloadMode)。通过查询 UnloadMode 参数,可以确定卸载窗体的原因,然后可取消该操作(如有必要)。
在 Visual Basic 2005 中,QueryUnload 事件替换为
Picture 属性
在 Visual Basic 6.0 中,如果位图比窗体小,分配给 Picture 属性的图像则显示在窗体左上角。
在 Visual Basic 2005 中,Picture 属性替换为
Moveable 属性
在 Visual Basic 6.0 中,窗体的 Moveable 属性可以设置为 False,以防止用户在运行时移动窗体。Visual Basic 2005 中的 Windows 窗体没有等效属性。
尽管这通常被认为是不理想的用户界面设计,但在 Visual Basic 2005 中可以实现类似的行为,方法是将
ValidateControls 方法
在 Visual Basic 6.0 中,ValidateControls 方法用于强制执行关闭窗体时具有焦点的控件的 Validate 事件;如果 Validate 事件失败,则引发错误。
在 Visual Basic 2005 中,ValidateControls 方法替换为
MDI 窗体的鼠标事件
在 Visual Basic 6.0 中,MDI 窗体支持鼠标事件。在 Visual Basic 2005 中,MDI 窗体不再支持 Click、MouseDown、MouseMove 和 MouseUp 事件,因为 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 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 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
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 枚举都映射到
根据需要提供了解释行为差异的主题链接。如果 Visual Basic 2005 中没有直接等效项,则提供指向介绍替换项的主题的链接。
Form 属性
Appearance
新的实现。有关更多信息,请参见 Appearance 和 BorderStyle 属性(针对 Visual Basic 6.0 用户)。
AutoRedraw
新的实现。有关更多信息,请参见图形(针对 Visual Basic 6.0 用户)。
BackColor
颜色在 Visual Basic 2005 中以不同方式处理。有关更多信息,请参见颜色行为(针对 Visual Basic 6.0 用户)。
BorderStyle
FormBorderStyle
Caption
ClipControls
新的实现。有关更多信息,请参见图形(针对 Visual Basic 6.0 用户)。
Controls
Visual Basic 2005 中的 Controls 集合存在一些差异。有关更多信息,请参见 Controls 集合(针对 Visual Basic 6.0 用户)。
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
字体在 Visual Basic 2005 中以不同方式处理。有关更多信息,请参见 Font 对象(针对 Visual Basic 6.0 用户)。
ForeColor
颜色在 Visual Basic 2005 中以不同方式处理。有关更多信息,请参见颜色行为(针对 Visual Basic 6.0 用户)。
HasDC
新的实现。有关更多信息,请参见图形(针对 Visual Basic 6.0 用户)。
HDC
新的实现。有关更多信息,请参见图形(针对 Visual Basic 6.0 用户)。
Height
坐标在 Visual Basic 2005 中以不同方式处理。有关更多信息,请参见坐标系统(针对 Visual Basic 6.0 用户)。
HelpContextID
新的实现。有关更多信息,请参见帮助支持(针对 Visual Basic 6.0 用户)。
HWnd
Image
新的实现。Visual basic 6.0 中的 Image 属性返回位图的句柄;Visual Basic 2005 中的图像没有句柄。
Left
坐标在 Visual Basic 2005 中以不同方式处理。有关更多信息,请参见坐标系统(针对 Visual Basic 6.0 用户)。
LinkMode
LinkTopic
无等效项。有关更多信息,请参见动态数据交换(针对 Visual Basic 6.0 用户)。
MaxButton
MDIChild
Visual Basic 2005 中的 MDI 行为有所不同。有关更多信息,请参见 MDI(针对 Visual Basic 6.0 用户)。
MinButton
MouseIcon
新的实现。有关更多信息,请参见无法设置自定义 MousePointer。
MousePointer
有关常数的列表,请参见 MousePointer(针对 Visual Basic 6.0 用户)。
Moveable
新的实现。有关更多信息,请参见可移动属性(针对 Visual Basic 6.0 用户)。
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
ScaleHeight
ScaleLeft
ScaleMode
ScaleTop
ScaleWidth
新的实现。有关更多信息,请参见坐标系统(针对 Visual Basic 6.0 用户)。
StartUpPosition:
0 – Manual
1 – CenterOwner
2 – CenterScreen
3 – Windows Default
Top
坐标在 Visual Basic 2005 中以不同方式处理。有关更多信息,请参见坐标系统(针对 Visual Basic 6.0 用户)。
WhatsThisButton
Visual Basic 2005 中的帮助行为存在一些差异。有关更多信息,请参见帮助支持(针对 Visual Basic 6.0 用户)。
WhatsThisHelp
新的实现。有关更多信息,请参见帮助支持(针对 Visual Basic 6.0 用户)。
Width
坐标在 Visual Basic 2005 中以不同方式处理。有关更多信息,请参见坐标系统(针对 Visual Basic 6.0 用户)。
Form 方法
Circle
新的实现。有关更多信息,请参见图形(针对 Visual Basic 6.0 用户)。
Cls
新的实现。有关更多信息,请参见图形(针对 Visual Basic 6.0 用户)。
Line
新的实现。有关更多信息,请参见图形(针对 Visual Basic 6.0 用户)。
Move
坐标在 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
Show
TextHeight
新的实现。有关更多信息,请参见图形(针对 Visual Basic 6.0 用户)。
TextWidth
新的实现。有关更多信息,请参见图形(针对 Visual Basic 6.0 用户)。
ValidateControls
Validate 方法返回 True 或 False;如果验证失败,ValidateControls 则引发错误。
WhatsThisMode
新的实现。有关更多信息,请参见帮助支持(针对 Visual Basic 6.0 用户)。
ZOrder:
0 – vbBringToFront
1 - vbSendToBack
BringToFront
SendToBack
Form 事件
Activate
Activated
在 Visual Basic 6.0 中,Activate 事件仅当在应用程序中的窗体间切换时引发;在 Visual Basic 2005 中,切换出其他应用程序时也引发 Activated 事件。
Click
MDI 窗体不支持 Click 事件。
DblClick
Deactivate
Deactivate
在 Visual Basic 6.0 中,Deactivate 事件仅当在应用程序中的窗体间切换时引发;在 Visual Basic 2005 中,切换出其他应用程序时也引发该事件。
DragDrop
DragOver
新的实现。有关更多信息,请参见拖放(针对 Visual Basic 6.0 用户)。
GotFocus
Initialize
New 方法
New 方法的行为与 Initialize 事件有所不同。有关更多信息,请参见窗体任务(针对 Visual Basic 6.0 用户)。
LinkClose
LinkError
LinkExecute
LinkOpen
无等效项。有关更多信息,请参见动态数据交换(针对 Visual Basic 6.0 用户)。
MouseDown
MDI 窗体不支持 MouseDown 事件。
MouseMove
MDI 窗体不支持 MouseMove 事件。
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 替换为
Terminate
Dispose 方法的行为与 Terminate 事件有所不同。有关更多信息,请参见 Form 事件(针对 Visual Basic 6.0 用户)。
Unload
FormClosing
FormClosing 事件的行为与 Unload 事件有所不同。有关更多信息,请参见 Form 事件(针对 Visual Basic 6.0 用户)。