CommandButton コントロール (Visual Basic 6.0 ユーザー向け)

更新 : 2007 年 11 月

Visual Basic 2008 では、Visual Basic 6.0 の CommandButton コントロールの代わりに、Windows フォームの Button コントロールが用意されています。プロパティ、メソッド、イベント、および定数の中には、名称が異なるものや、動作の異なるものもあります。

概念の違い

Default プロパティおよび Cancel プロパティ

Visual Basic 6.0 では、CommandButton コントロールのブール型の Default プロパティによって Enter キーへの応答が決定され、Cancel プロパティによって Esc キーへの応答が決定されます。

Visual Basic 2008 では、Button コントロールの Default プロパティおよび Cancel プロパティは使用されなくなりました。それらと同じ機能は、Form オブジェクトの AcceptButton プロパティおよび CancelButton プロパティで提供されます。このプロパティは、Button コントロールの名前を引数として受け取ります。

Value プロパティ

Visual Basic 6.0 では、CommandButton コントロールのブール型の Value プロパティは、コントロールが選択されているかどうかを示します。このプロパティを True に設定すると、ボタンの Click イベントが呼び出されます。

Visual Basic 2008 では、Button コントロールの Value プロパティは使用されなくなりました。コントロールが選択されているかどうかは、GotFocus イベントを使って確認できます。Click イベントを呼び出すには、PerformClick メソッドを使用できます。

Style、Picture、DownPicture、および DisabledPicture プロパティ

Visual Basic 6.0 では、CommandButton コントロールの Style プロパティを 1 – Graphical に設定すると、コントロールの外観がイメージを表示するように変更されます。Picture、DownPicture、および DisabledPicture の各プロパティを使用して、状態の変化に応じて表示するイメージを割り当てることができます。たとえば、CommandButton コントロールがクリックされると DownPicture イメージが表示され、CommandButton コントロールがオフになると 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 メソッドを使うと、コントロールを透明に設定できます。

その他の違い

加えて、データ連結、フォント処理、ドラッグ アンド ドロップ、ヘルプ サポートなど、すべてのコントロールに当てはまる概念上の相違が数多くあります。詳細については、「Windows フォーム コントロール (Visual Basic 6.0 ユーザー向け)」を参照してください。

CommandButton コントロールを扱うコードの変更

次のコード例は、Visual Basic 6.0 と Visual Basic 2008 のコーディング テクニックの違いを示しています。

既定のボタンとキャンセル ボタンを設定するコードの変更

次のコード例は、2 つのボタンをフォームの既定のボタンとキャンセル ボタンとして設定する方法を示しています。

' 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

ボタンに透明の領域を追加するコードの変更

次のコード例は、画像のあるボタンに透明の領域を定義する方法を示しています。画像の白い部分が透明になります。

' 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 列挙型は System.Windows.Forms 名前空間に対応します。

これらの表には、動作の違いを説明するトピックへのリンクも含まれています。Visual Basic 2008 に直接対応するものがない場合は、代わりの項目を示すトピックへのリンクを示します。

プロパティ

Visual Basic 6.0

Visual Basic 2008 で対応するもの

Appearance

新規に実装されました。詳細については、「Appearance プロパティおよび BorderStyle プロパティ (Visual Basic 6.0 ユーザー向け)」を参照してください。

BackColor

BackColor

66817acc.alert_note(ja-jp,VS.90).gifメモ :
Visual Basic 2008 では、色は別の方法で処理されます。詳細については、「色の処理 (Visual Basic 6.0 ユーザー向け)」を参照してください。

Cancel

CancelButton (Form オブジェクト)

Caption

Text

Container

Parent

Default

AcceptButton (Form オブジェクト)

DisabledPicture

DownPicture

新規に実装されました。詳細については、「Style プロパティ (Visual Basic 6.0 ユーザー向け)」を参照してください。

DragIcon

DragMode

新規に実装されました。詳細については、「ドラッグ アンド ドロップ (Visual Basic 6.0 ユーザー向け)」を参照してください。

Font

FontBold

FontItalic

FontName

FontSize

FontStrikethrough

FontUnderline

Font

66817acc.alert_note(ja-jp,VS.90).gifメモ :
Visual Basic 2008 では、フォントは別の方法で処理されます。詳細については、「フォント オブジェクト (Visual Basic 6.0 ユーザー向け)」を参照してください。

Height

Height, Size

66817acc.alert_note(ja-jp,VS.90).gifメモ :
Visual Basic 2008 では、座標は別の方法で処理されます。詳細については、「座標系 (Visual Basic 6.0 ユーザー向け)」を参照してください。

HelpContextID

新規に実装されました。詳細については、「ヘルプ サポート (Visual Basic 6.0 ユーザー向け)」を参照してください。

HWnd

Handle

Index

新規に実装されました。詳細については、「コントロール配列 (Visual Basic 6.0 ユーザー向け)」を参照してください。

Left

Left

66817acc.alert_note(ja-jp,VS.90).gifメモ :
Visual Basic 2008 では、座標は別の方法で処理されます。詳細については、「座標系 (Visual Basic 6.0 ユーザー向け)」を参照してください。

MaskColor

新規に実装されました。詳細については、「MaskColor (Visual Basic 6.0 ユーザー向け)」を参照してください。

MouseIcon

新規に実装されました。詳細については、「カスタム MousePointer を設定できない」を参照してください。

MousePointer

Cursor

定数の一覧については、「MousePointer (Visual Basic 6.0 ユーザー向け)」を参照してください。

OLEDropMode

新規に実装されました。詳細については、「ドラッグ アンド ドロップ (Visual Basic 6.0 ユーザー向け)」を参照してください。

Parent

FindForm メソッド

Picture

Image

RightToLeft

RightToLeft

Style

新規に実装されました。詳細については、「Style プロパティ (Visual Basic 6.0 ユーザー向け)」を参照してください。

ToolTipText

ToolTip コンポーネント

詳細については、「ツールヒントのサポート (Visual Basic 6.0 ユーザー向け)」を参照してください。

Top

Top

66817acc.alert_note(ja-jp,VS.90).gifメモ :
Visual Basic 2008 では、座標は別の方法で処理されます。詳細については、「座標系 (Visual Basic 6.0 ユーザー向け)」を参照してください。

UseMaskColor

新規に実装されました。詳細については、「MaskColor (Visual Basic 6.0 ユーザー向け)」を参照してください。

Value

新規に実装されました。PerformClick メソッドは、Value を True に設定することに相当します。その他の Value プロパティの使い方には、対応するものはありません。

WhatsThisHelpID

新規に実装されました。詳細については、「ヘルプ サポート (Visual Basic 6.0 ユーザー向け)」を参照してください。

Width

Width, Size

66817acc.alert_note(ja-jp,VS.90).gifメモ :
Visual Basic 2008 では、座標は別の方法で処理されます。詳細については、「座標系 (Visual Basic 6.0 ユーザー向け)」を参照してください。

メソッド

Visual Basic 6.0

Visual Basic 2008 で対応するもの

Drag

新規に実装されました。詳細については、「ドラッグ アンド ドロップ (Visual Basic 6.0 ユーザー向け)」を参照してください。

Move

SetBounds

66817acc.alert_note(ja-jp,VS.90).gifメモ :
Visual Basic 2008 では、座標は別の方法で処理されます。詳細については、「座標系 (Visual Basic 6.0 ユーザー向け)」を参照してください。

OLEDrag

新規に実装されました。詳細については、「ドラッグ アンド ドロップ (Visual Basic 6.0 ユーザー向け)」を参照してください。

SetFocus

Focus

ShowWhatsThis

新規に実装されました。詳細については、「ヘルプ サポート (Visual Basic 6.0 ユーザー向け)」を参照してください。

ZOrder

BringToFront 関数または SendToBack 関数

イベント

Visual Basic 6.0

Visual Basic 2008 で対応するもの

DragDrop

DragOver

新規に実装されました。詳細については、「ドラッグ アンド ドロップ (Visual Basic 6.0 ユーザー向け)」を参照してください。

GotFocus

Enter

LostFocus

Leave

OLECompleteDrag

OLEDragDrop

OLEDragOver

OLEGiveFeedback

OLESetData

OLEStartDrag

新規に実装されました。詳細については、「ドラッグ アンド ドロップ (Visual Basic 6.0 ユーザー向け)」を参照してください。

アップグレード メモ

アップグレード ウィザードを使って Visual Basic 6.0 アプリケーションをアップグレードすると、CommandButton コントロールは Windows フォームの Button コントロールにアップグレードされ、コード内のプロパティ、メソッド、およびイベントは、それぞれに相当するものにアップグレードされます。相当するものがなかったり、動作に潜在的な相違点がある部分のコードには、コメントとヘルプ トピックへのリンクが挿入されます。

アプリケーションを Visual Basic 2008 にアップグレードするときに、Style プロパティが 1 – Graphical に設定されている場合、アップグレードされたコントロールの FlatStyle プロパティは Standard に設定され、デザイン時に Picture プロパティに割り当てられた画像はアップグレードされたコントロールの Image プロパティに割り当てられます。

デザイン時または実行時に DownPicture プロパティまたは DisabledPicture プロパティを設定していた場合は、アップグレードしたアプリケーションを変更して ImageList コントロールを使う必要があります。詳細については、「方法 : アップグレードしたアプリケーションで Visual Basic 6.0 の 3 ステート コントロールをエミュレートする」を参照してください。

アップグレード ウィザードは、MaskColor プロパティを使用するコードをアップグレードしません。アップグレードに関する警告がコードに挿入されます。アプリケーションを実行する前にコードを変更する必要があります。

参照

概念

MaskColor (Visual Basic 6.0 ユーザー向け)