Visual Basic 6.0 使用者可用的 CommandButton 控制項
更新:2007 年 11 月
Visual Basic 6.0 的 CommandButton 控制項在 Visual Basic 2008 中會以 Windows Form Button 控制項取代。有些屬性 (Property)、方法、事件及常數的名稱會改變,而且在某些情況下,行為方面也會有差異。
概念上的差異
Default 和 Cancel 屬性
在 Visual Basic 6.0 中,CommandButton 控制項的布林 (Boolean) Default 和 Cancel 屬性,會決定控制項是否會分別回應 ENTER 或 ESC 鍵。
在 Visual Basic 2008 中,Button 控制項不再具有 Default 或 Cancel 屬性。Form 物件具有 AcceptButton 和 CancelButton 屬性,可提供相同的功能。這些屬性會使用 Button 控制項的名稱當做引數。
Value 屬性
在 Visual Basic 6.0 中,CommandButton 控制項的布林 Value 屬性指出是否已選擇控制項。將屬性設為 True,會叫用 (Invoke) 按鈕的 Click 事件。
在 Visual Basic 2008 中,Button 控制項不再具有 Value 屬性。您可以使用 GotFocus 事件,判斷是否已選擇控制項。PerformClick 方法可用來叫用 Click 事件。
Style、Picture、DownPicture 和 DisabledPicture 屬性
在 Visual Basic 6.0 中,將 CommandButton 控制項的 [Style] 屬性設定為 [1 – 圖形],會變更控制項的外觀,以顯示影像。Picture、DownPicture 和 DisabledPicture 屬性可用來指派將顯示的影像,以回應狀態變更。例如,按一下 CommandButton 控制項時,會顯示 DownPicture 影像。如果停用控制項,則會顯示 DisabledPicture 影像。
Visual Basic 2008 已不再支援 Style、Picture、DownPicture 或 DisabledPicture 屬性。Style 屬性不再必要,將圖片指派給 Image 屬性和將 Style 屬性設定為 Graphical 有相同的效果。Picture 屬性已由 Image 屬性取代。DownPicture 和 DisabledPicture 屬性的功能,可以使用包含多個影像的 ImageList 控制項來模擬。
MaskColor 屬性
在 Visual Basic 6.0 中,CommandButton 控制項的 MaskColor 屬性可用來定義成為透明的色彩,讓背景影像可以顯示出來。若要使用這個屬性,[Style] 屬性必須設定為 [Graphical]、UseMaskColor 屬性必須設定為 True,而且必須指派點陣圖給 Picture 屬性。
在 Visual Basic 2008 中,沒有 MaskColor 屬性的直接對等用法。不過,您可以使用 Bitmap 物件的 MakeTransparent 方法,設定控制項的透明度。
其他差異
此外,還有許多概念不同處,適用於所有控制項,包括資料繫結、字型處理、拖放、說明支援等方面的差別。如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的 Windows Form 控制項。
CommandButton 控制項的程式碼變更
下列程式碼範例說明 Visual Basic 6.0 和 Visual Basic 2008 之間,程式碼撰寫技術的差異。
設定預設值和取消按鈕的程式碼變更
下列範例會示範將兩個按鈕設為表單的預設值按鈕和取消按鈕。
' Visual Basic 6.0
' Set the first button to respond to the Enter key.
Command1.Default = True
' Set the second button to respond to the Esc key.
Command2.Cancel = True
' Visual Basic
' Set the first button to respond to the Enter key.
Me.AcceptButton = Button1
' Set the second button to respond to the Esc key.
Me.CancelButton = Button2
加入透明度至按鈕的程式碼變更
下列範例會示範在含有影像的按鈕上定義透明工作區 (Transparent Region) 的方法,影像中的白色部分會變成透明。
' Visual Basic 6.0
' Assumes a picture has been assigned to the Picture property
' and that the Style property has been set to Graphical.
Command1.UseMaskColor = True
Command1.MaskColor = vbWhite
' Visual Basic
' Assumes a picture has been assigned to the BackgroundImage property.
Dim ButtonBitmap As New System.Drawing.Bitmap(Button1.BackgroundImage)
ButtonBitmap.MakeTransparent(System.Drawing.Color.White)
Button1.BackgroundImage = ButtonBitmap
CommandButton 控制項屬性、方法和事件的對等用法
下表列出 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 對等用法 |
||
---|---|---|---|
Appearance |
新實作。如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的 Appearance 和 BorderStyle 屬性。 |
||
BackColor |
|
||
Cancel |
CancelButton (Form 物件) |
||
Caption |
|||
Container |
|||
Default |
AcceptButton (Form 物件) |
||
DisabledPicture DownPicture |
新實作。如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的樣式屬性。 |
||
DragIcon DragMode |
新實作。如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的拖放動作。 |
||
Font FontBold FontItalic FontName FontSize FontStrikethrough FontUnderline |
|
||
Height |
|
||
HelpContextID |
新實作。如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的說明支援。 |
||
HWnd |
|||
Index |
新實作。如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的控制項陣列。 |
||
Left |
|
||
MaskColor |
新實作。如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的 MaskColor。 |
||
MouseIcon |
新實作。如需詳細資訊,請參閱無法設定自訂 MousePointer。 |
||
MousePointer |
如需常數的清單,請參閱 Visual Basic 6.0 使用者可用的 MousePointer。 |
||
OLEDropMode |
新實作。如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的拖放動作。 |
||
Parent |
FindForm 方法 |
||
Picture |
|||
RightToLeft |
|||
Style |
新實作。如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的樣式屬性。 |
||
ToolTipText |
ToolTip 元件 如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的 ToolTip 支援。 |
||
Top |
|
||
UseMaskColor |
新實作。如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的 MaskColor。 |
||
Value |
新實作。使用 PerformClick 方法和將 Value 設為 True 相同。對於 Value 屬性的其他用途來說,並沒有對等用法。 |
||
WhatsThisHelpID |
新實作。如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的說明支援。 |
||
Width |
|
方法
Visual Basic 6.0 |
Visual Basic 2008 對等用法 |
||
---|---|---|---|
Drag |
新實作。如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的拖放動作。 |
||
Move |
|
||
OLEDrag |
新實作。如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的拖放動作。 |
||
SetFocus |
|||
ShowWhatsThis |
新實作。如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的說明支援。 |
||
ZOrder |
BringToFront 或 SendToBack 函式 |
事件
Visual Basic 6.0 |
Visual Basic 2008 對等用法 |
---|---|
DragDrop DragOver |
新實作。如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的拖放動作。 |
GotFocus |
|
LostFocus |
|
OLECompleteDrag OLEDragDrop OLEDragOver OLEGiveFeedback OLESetData OLEStartDrag |
新實作。如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的拖放動作。 |
升級注意事項
使用升級精靈升級 Visual Basic 6.0 應用程式時,所有 CommandButton 控制項都會升級至 Windows Form Button 控制項,而且程式碼會更新為使用對等的屬性、方法和事件。當沒有對等用法或可能有行為上的差異時,程式碼中會插入註解,其中包含至說明主題的連結。
當應用程式升級為 Visual Basic 2008 時,如果 Style 屬性設為 1 – Graphical,升級後控制項的 FlatStyle 屬性會設為 Standard,而所有在設計階段指派給 Picture 屬性的影像,都會指派給升級後控制項的 Image 屬性。
如果已在設計階段或執行階段時設定 DownPicture 或 DisabledPicture 屬性,您需要將升級後的應用程式修改為使用 ImageList 控制項。如需詳細資訊,請參閱 HOW TO:在升級應用程式中模擬 Visual Basic 6.0 三種狀態的控制項。
升級精靈不會升級使用 MaskColor 屬性的程式碼。升級警告將插入至您的程式碼中。在您執行應用程式之前需先修改程式碼。