PictureBox 控件(针对 Visual Basic 6.0 用户)
更新:2007 年 11 月
Visual Basic 6.0 中的 PictureBox 控件在 Visual Basic 2008 中由 Windows 窗体 PictureBox 控件所取代。某些属性、方法、事件和常数的名称是不同的,在某些情况下,行为也有所不同。
概念差异
PictureBox 作为容器
Visual Basic 6.0 PictureBox 控件是一个容器控件,除了显示图片外,还可用于分组和显示其他控件。
Visual Basic 2008PictureBox 控件不是容器控件;只能用于显示图片。如果需要容器控件,则可使用新的 Panel 控件替代 PictureBox 控件。
AutoSize 属性
在 Visual Basic 6.0 中,AutoSize 属性确定 PictureBox 控件是保留其设计时大小 (AutoSize = False) 还是动态调整大小以适合图片的尺寸 (AutoSize = True)。
在 Visual Basic 2008 中,AutoSize 属性替换为 SizeMode 属性;除了 Normal 和 AutoSize 模式,还可居中对齐、拉伸或缩放图片。
图形属性和方法
在 Visual Basic 6.0 中,各种图形属性和方法都可用于在 PictureBox 控件上绘制线条、形状和文本。
在 Visual Basic 2008 中,控件不再具有图形属性或方法;但仍可使用 T:System.Drawing.Graphics 对象在 PictureBox 控件上进行绘制。有关更多信息,请参见 图形(针对 Visual Basic 6.0 用户)。
其他差异
此外,还有许多适用于所有控件的概念差异,包括数据绑定、字体处理、拖放功能、帮助支持等方面的差异。有关更多信息,请参见适用于 Visual Basic 6.0 用户的 Windows 窗体概念。
PictureBox 控件的代码更改
下面的示例演示 Visual Basic 6.0 与 Visual Basic 2008 在编码方法方面的差异。
显示图片的代码更改
下面的代码演示如何在运行时在 PictureBox 控件中显示图片。
' Visual Basic 6.0
Picture1.Picture = LoadPicture(App.Path & "\somepicture.jpg")
' Visual Basic
PictureBox1.Image = System.Drawing.Bitmap.FromFile( _
My.Application.Info.DirectoryPath & "\somepicture.jpg")
清除 PictureBox 控件的代码更改
下面的代码演示如何在运行时清除 PictureBox 控件,从而不显示图像。
' Visual Basic 6.0
Picture1.Picture = LoadPicture("")
' Visual Basic
If Not (PictureBox1.Image Is Nothing) Then
PictureBox1.Image.Dispose()
PictureBox1.Image = Nothing
End If
在 PictureBox 控件进行绘制的代码更改
下面的代码演示如何在运行时在 PictureBox 控件中心绘制一个直径为 40 像素的红色圆。
' Visual Basic 6.0
Private Sub Picture1_Paint
Dim x As Integer
Dim y As Integer
Picture1.ScaleMode = vbPixels
x = Picture1.ScaleWidth / 2
y = Picture1.ScaleHeight / 2
Picture1.Circle (x, y), 20, vbRed
End Sub
' Visual Basic
Private Sub PictureBox1_Paint(ByVal sender As Object, ByVal e _
As System.Windows.Forms.PaintEventArgs) Handles PictureBox1.Paint
Dim radius As Integer = 20
Dim diameter As Integer = radius * 2
Dim x As Integer = (PictureBox1.Width / 2) - radius
Dim y As Integer = (PictureBox1.Height / 2) - radius
e.Graphics.DrawEllipse(Pens.Red, x, y, diameter, diameter)
End Sub
PictureBox 控件属性、方法和事件的等效项
下表列出了 Visual Basic 6.0 属性、方法和事件,以及它们的 Visual Basic 2008 等效项。具有相同的名称和行为的属性、方法和事件未予列出。如果适用,常量在属性或方法的下面缩进。除非另有说明,否则所有的 Visual Basic 2008 枚举都映射到 System.Windows.Forms 命名空间。
此表提供相关主题的链接,这些主题对行为之间的差异进行说明。如果 Visual Basic 2008 中没有直接等效项,则提供指向介绍其他替代项的主题的链接。
属性
Visual Basic 6.0 |
Visual Basic 2008 等效项 |
||
---|---|---|---|
Align |
|||
Appearance |
新的实现。有关更多信息,请参见 Appearance 和 BorderStyle 属性(针对 Visual Basic 6.0 用户)。 |
||
AutoRedraw |
新的实现。有关更多信息,请参见 图形(针对 Visual Basic 6.0 用户)。 |
||
AutoSize |
|||
BackColor |
|
||
BorderStyle |
|
||
ClipControls |
新的实现。有关更多信息,请参见 图形(针对 Visual Basic 6.0 用户)。 |
||
Container |
|||
CurrentX CurrentY |
新的实现。有关更多信息,请参见 图形(针对 Visual Basic 6.0 用户)。 |
||
DataChanged DataField DataFormat DataMember DataSource |
新的实现。有关更多信息,请参见适用于 Visual Basic 6.0 用户的数据访问。 |
||
DragIcon DragMode |
新的实现。有关更多信息,请参见拖放(针对 Visual Basic 6.0 用户)。 |
||
DrawMode DrawStyle DrawWidth FillColor FillStyle |
新的实现。有关更多信息,请参见 图形(针对 Visual Basic 6.0 用户)。 |
||
Font FontBold FontItalic FontName FontSize FontStrikethrough FontUnderline |
|
||
ForeColor |
|
||
HasDC HDC |
新的实现。有关更多信息,请参见 图形(针对 Visual Basic 6.0 用户)。 |
||
Height |
|
||
HelpContextID |
新的实现。有关更多信息,请参见帮助支持(针对 Visual Basic 6.0 用户)。 |
||
HWnd |
|||
Image |
新的实现。有关更多信息,请参见 图形(针对 Visual Basic 6.0 用户)。
|
||
Index |
新的实现。有关更多信息,请参见控件数组(针对 Visual Basic 6.0 用户)。 |
||
Left |
|
||
LinkItem LinkMode LinkTimeOut LinkTopic |
无等效项。有关更多信息,请参见动态数据交换(针对 Visual Basic 6.0 用户)。 |
||
MouseIcon |
新的实现。有关更多信息,请参见无法设置自定义 MousePointer。 |
||
MousePointer |
有关常数的列表,请参见 MousePointer(针对 Visual Basic 6.0 用户)。 |
||
OLEDragMode OLEDropMode |
新的实现。有关更多信息,请参见拖放(针对 Visual Basic 6.0 用户)。 |
||
Parent |
|||
Picture |
|||
ScaleHeight ScaleLeft ScaleMode ScaleTop ScaleWidth |
新的实现。有关更多信息,请参见坐标系统(针对 Visual Basic 6.0 用户)。 |
||
ToolTipText |
ToolTip 组件 有关更多信息,请参见工具提示支持(针对 Visual Basic 6.0 用户)。 |
||
Top |
|
||
WhatsThisHelpID |
新的实现。有关更多信息,请参见帮助支持(针对 Visual Basic 6.0 用户)。 |
||
Width |
|
方法
Visual Basic 6.0 |
Visual Basic 2008 等效项 |
||
---|---|---|---|
Circle Cls |
新的实现。有关更多信息,请参见 图形(针对 Visual Basic 6.0 用户)。 |
||
Drag |
新的实现。有关更多信息,请参见拖放(针对 Visual Basic 6.0 用户)。 |
||
Line |
新的实现。有关更多信息,请参见 图形(针对 Visual Basic 6.0 用户)。 |
||
LinkExecute LinkPoke LinkRequest LinkSend |
无等效项。有关更多信息,请参见动态数据交换(针对 Visual Basic 6.0 用户)。 |
||
Move |
|
||
OLEDrag |
新的实现。有关更多信息,请参见拖放(针对 Visual Basic 6.0 用户)。 |
||
PaintPicture Point PSet |
新的实现。有关更多信息,请参见 图形(针对 Visual Basic 6.0 用户)。 |
||
Scale ScaleX ScaleY |
新的实现。有关更多信息,请参见坐标系统(针对 Visual Basic 6.0 用户)。 |
||
SetFocus |
|||
ShowWhatsThis |
新的实现。有关更多信息,请参见帮助支持(针对 Visual Basic 6.0 用户)。 |
||
TextHeight TextWidth |
新的实现。有关更多信息,请参见 图形(针对 Visual Basic 6.0 用户)。 |
||
ZOrder |
BringToFront 或 SendToBack 方法 |
事件
Visual Basic 6.0 |
Visual Basic 2008 等效项 |
---|---|
Change |
新的实现。个别事件(BackgroundImageChanged、SizeChanged 等)在某些属性更改时引发。 |
DblClick |
|
DragDrop DragOver |
新的实现。有关更多信息,请参见拖放(针对 Visual Basic 6.0 用户)。 |
GotFocus |
|
KeyDown KeyPress KeyUp |
新的实现。Visual Basic 2008PictureBox 控件不是容器控件,不接收击键。 |
LinkClose LinkError LinkNotify LinkOpen |
无等效项。有关更多信息,请参见动态数据交换(针对 Visual Basic 6.0 用户)。 |
LostFocus |
|
OLECompleteDrag OLEDragDrop OLEDragOver OLEGiveFeedback OLESetData OLEStartDrag |
新的实现。有关更多信息,请参见拖放(针对 Visual Basic 6.0 用户)。 |
Validate |
升级说明
在升级时,包含控件的 PictureBox 控件升级为 Panel 控件。对于升级到 Panel 控件的 Visual Basic 6.0 PictureBox 控件,分配给 Picture 属性的图像映射到 Panel 控件的 BackgroundPicture 属性。