共用方式為


Visual Basic 6.0 使用者可用的 PictureBox 控制項

更新:2007 年 11 月

Visual Basic 6.0 的 PictureBox 控制項在 Visual Basic 2008 中會以 Windows Form PictureBox 控制項取代。有些屬性 (Property)、方法、事件及常數的名稱會改變,而且在某些情況下,行為方面也會有差異。

概念上的差異

PictureBox 做為容器

Visual Basic 6.0 PictureBox 控制項是容器 (Container) 控制項。除了顯示圖片之外,這個控制項可用於分組和顯示其他控制項。

Visual Basic 2008 的 PictureBox 控制項不是容器控制項,只可用於顯示圖片。您可以使用新的 Panel 控制項,在需要容器控制項時做為 PictureBox 控制項的取代項目。

AutoSize 屬性

在 Visual Basic 6.0 中,AutoSize 屬性會判斷 PictureBox 控制項是否保留其設計階段大小 (AutoSize = False),或者動態調整大小以符合圖片的尺寸 (AutoSize = True)。

在 Visual Basic 2008 中,AutoSize 屬性已由 SizeMode 屬性取代。除了 NormalAutoSize 模式以外,這些選項也可用於將圖片置中、自動縮放圖片或縮放圖片。

圖形屬性和方法

在 Visual Basic 6.0 中,有各種圖形屬性和方法可以用來在 PictureBox 控制項上繪製線條、形狀和文字。

在 Visual Basic 2008 中,控制項不再具有圖形屬性或方法。您仍可以使用 T:System.Drawing.Graphics 物件,在 PictureBox 控制項上方進行繪製。如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的圖形

其他差異

此外,還有許多概念不同處,適用於所有控制項,包括資料繫結 (Data Binding)、字型處理、拖放功能、說明支援等方面的差別。如需詳細資訊,請參閱 Visual Basic 6.0 使用者的 Windows Form 概念

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 列舉型別 (Enumeration) 都會對應到 System.Windows.Forms 命名空間 (Namespace)。

此表提供說明行為差異的主題連結。若 Visual Basic 2008 中沒有直接的對等用法,則提供連結至替代的主題。

屬性

Visual Basic 6.0

Visual Basic 2008 對等用法

Align

Dock

Appearance

新實作。如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的 Appearance 和 BorderStyle 屬性

AutoRedraw

新實作。如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的圖形

AutoSize

SizeMode

BackColor

BackColor

注意事項:

在 Visual Basic 2008 中會以不同方式處理色彩。如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的色彩行為

BorderStyle

BorderStyle

注意事項:

在 Visual Basic 6.0 中,預設值為 Fixed Single;而在 Visual Basic 2008 中,預設值為 None

ClipControls

新實作。如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的圖形

Container

Parent

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

Font

注意事項:

在 Visual Basic 2008 中會以不同方式處理字型。如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的字型物件

ForeColor

ForeColor

注意事項:

在 Visual Basic 2008 中會以不同方式處理色彩。如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的色彩行為

HasDC

HDC

新實作。如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的圖形

Height

Height, Size

注意事項:

在 Visual Basic 2008 中會以不同方式處理座標。如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的座標系統

HelpContextID

新實作。如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的說明支援

HWnd

Handle

Image

新實作。如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的圖形

注意事項:

在 Visual Basic 2008 中,Image 屬性不是圖形屬性。這是 Visual Basic 6.0 Picture 屬性的對等用法。

Index

新實作。如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的控制項陣列

Left

Left

注意事項:

在 Visual Basic 2008 中會以不同方式處理座標。如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的座標系統

LinkItem

LinkMode

LinkTimeOut

LinkTopic

沒有對等用法。如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的動態資料交換

MouseIcon

新實作。如需詳細資訊,請參閱無法設定自訂 MousePointer

MousePointer

Cursor

如需常數的清單,請參閱 Visual Basic 6.0 使用者可用的 MousePointer

OLEDragMode

OLEDropMode

新實作。如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的拖放動作

Parent

FindForm

Picture

Image

ScaleHeight

ScaleLeft

ScaleMode

ScaleTop

ScaleWidth

新實作。如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的座標系統

ToolTipText

ToolTip 元件

如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的 ToolTip 支援

Top

Top

注意事項:

在 Visual Basic 2008 中會以不同方式處理座標。如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的座標系統

WhatsThisHelpID

新實作。如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的說明支援

Width

Width, Size

注意事項:

在 Visual Basic 2008 中會以不同方式處理座標。如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的座標系統

方法

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

SetBounds

注意事項:

在 Visual Basic 2008 中會以不同方式處理座標。如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的座標系統

OLEDrag

新實作。如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的拖放動作

PaintPicture

Point

Print

PSet

新實作。如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的圖形

Scale

ScaleX

ScaleY

新實作。如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的座標系統

SetFocus

Focus

ShowWhatsThis

新實作。如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的說明支援

TextHeight

TextWidth

新實作。如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的圖形

ZOrder

BringToFrontSendToBack 方法

事件

Visual Basic 6.0

Visual Basic 2008 對等用法

Change

新實作。在某些屬性變更時會引發個別事件 (BackgroundImageChangedSizeChanged 等)。

DblClick

DoubleClick

DragDrop

DragOver

新實作。如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的拖放動作

GotFocus

Enter

KeyDown

KeyPress

KeyUp

新實作。Visual Basic 2008 的 PictureBox 控制項不是容器控制項,而且不會接收按鍵。

LinkClose

LinkError

LinkNotify

LinkOpen

沒有對等用法。如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的動態資料交換

LostFocus

Leave

OLECompleteDrag

OLEDragDrop

OLEDragOver

OLEGiveFeedback

OLESetData

OLEStartDrag

新實作。如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的拖放動作

Validate

Validating

升級注意事項

在升級過程中,含有控制項的 PictureBox 控制項會升級至 Panel 控制項。針對升級至 Panel 控制項的 Visual Basic 6.0 PictureBox 控制項,指定給 Picture 屬性的影像會對應至 Panel 控制項的 BackgroundPicture 屬性。

請參閱

參考

PictureBox 控制項概觀 (Windows Form)