Form オブジェクト (Visual Basic 6.0 ユーザー向け)

更新 : 2007 年 11 月

Visual Basic 6.0 の Form オブジェクトは、Visual Basic 2008 では Form クラスに置き換えられています。プロパティ、メソッド、イベント、および定数の中には、名称が異なるものや、動作の異なるものもあります。

概念の違い

Activate イベントおよび Deactivate イベント

Visual Basic 6.0 では、Activate イベントと Deactivate イベントは、フォーム間の切り替えがあったときにだけ発生します。

Visual Basic 2008 では、Activated イベントと Deactivate イベントは、他のアプリケーションとの切り替えがあったときにも発生します。

QueryUnload イベント

Visual Basic 6.0 では、QueryUnload イベントは、Cancel および UnloadMode という 2 つの引数を受け取ります。UnloadMode 引数を調べることにより、フォームがアンロードされる理由を確認し、必要に応じてアンロードをキャンセルできます。

Visual Basic 2008 では、QueryUnload イベントは、FormClosing イベントに置き換えられています。UnloadMode は、CloseReason に置き換えられています。

Picture プロパティ

Visual Basic 6.0 では、Picture プロパティに割り当てた画像は、ビットマップがフォームより小さい場合にフォームの左上隅に表示されます。

Visual Basic 2008 では、Picture プロパティは BackgroundImage プロパティに置き換えられています。BackgroundImage プロパティに割り当てられた画像がフォームより小さい場合、既定で画像は並べて表示されます。

Moveable プロパティ

Visual Basic 6.0 では、フォームの Moveable プロパティを False に設定すると、ユーザーが実行時にフォームを移動できなくなります。Visual Basic 2008 の Windows フォームには、これに相当するプロパティはありません。

これと同じような動作を Visual Basic 2008 で実現するには、FormBorderStyle プロパティを None に設定し、ControlBox プロパティを False に設定します。ただし、このようなユーザー インターフェイスのデザインは一般に推奨されません。

ValidateControls メソッド

Visual Basic 6.0 では、フォームを閉じるときにフォーカスがあるコントロールに Validate イベントを発生させるために ValidateControls メソッドを使用します。Validate イベントが失敗すると、エラーが発生します。

Visual Basic 2008 では、ValidateControls メソッドは、Validate メソッドに置き換えられています。このメソッドは、True または False を返します。

MDI フォームのマウス イベント

Visual Basic 6.0 では、MDI フォームでマウス イベントがサポートされています。Visual Basic 2008 では、MDI フォーム上にマウス イベントを受け取るクライアント領域がないため、MDI フォームでは Click、MouseDown、MouseMove、および MouseUp の各イベントはサポートされません。

フォーム オブジェクトを扱うコードの変更

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

フォームを閉じる理由を確認するコードの変更

次のコード例は、フォームを閉じる理由と、理由に応じて処理を実行する方法を示します。Visual Basic 6.0 のコード例では、QueryUnload イベントの UnloadMode 引数を使用します。Visual Basic 2008 のコード例では、この引数は 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
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
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 2008 プロパティの一覧です。同じ名前で同じ動作を持つプロパティ、メソッド、およびイベントは、一覧に含まれていません。必要に応じて、プロパティまたはメソッドの下に定数が示されています。特に明記されていない限り、すべての Visual Basic 2008 列挙型は System.Windows.Forms 名前空間に対応します。

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

Form のプロパティ

Visual Basic 6.0

Visual Basic 2008 で対応するもの

Appearance

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

AutoRedraw

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

BackColor

BackColor

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

BorderStyle

FormBorderStyle

Caption

Text

ClipControls

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

Controls

Controls

t98sy0cc.alert_note(ja-jp,VS.90).gifメモ :
Visual Basic 2008 では、Controls コレクションに相違点があります。詳細については、「Controls コレクション (Visual Basic 6.0 ユーザー向け)」を参照してください。

Count

Count

t98sy0cc.alert_note(ja-jp,VS.90).gifメモ :
Visual Basic 2008 では、Controls コレクションに相違点があります。詳細については、「Windows フォーム コントロール (Visual Basic 6.0 ユーザー向け)」を参照してください。

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

Font

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

ForeColor

ForeColor

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

HasDC

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

HDC

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

Height

Height, Size

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

HelpContextID

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

HWnd

Handle

Image

新規に実装されました。Visual Basic 6.0 の Image プロパティはビットマップへのハンドルを返しましたが、Visual Basic 2008 では画像にハンドルはありません。

Left

Left

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

LinkMode

LinkTopic

対応する項目はありません。詳細については、「ダイナミック データ エクスチェンジ (Visual Basic 6.0 ユーザー向け)」を参照してください。

MaxButton

MaximizeBox

MDIChild

MdiParent

t98sy0cc.alert_note(ja-jp,VS.90).gifメモ :
Visual Basic 2008 では、MDI の動作は異なります。詳細については、「MDI (Visual Basic 6.0 ユーザー向け)」を参照してください。

MinButton

MinimizeBox

MouseIcon

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

MousePointer

Cursor

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

Moveable

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

Name

Name

NegotiateMenus

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

OLEDropMode

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

Palette

PaletteMode

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

Picture

BackgroundImage

t98sy0cc.alert_note(ja-jp,VS.90).gifメモ :
Visual Basic 6.0 では、Picture はフォームの左上隅に表示されましたが、Visual Basic 2008 では、BackgroundImage は並べて表示されます。

RightToLeft:

True

False

RightToLeft

Yes 列挙値

ScaleHeight

ScaleLeft

ScaleMode

ScaleTop

ScaleWidth

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

StartUpPosition:

0 – Manual

1 – CenterOwner

2 – CenterScreen

3 – Windows Default

StartPosition

 Manual 列挙値

 CenterParent 列挙値

 CenterScreen 列挙値

 WindowsDefaultLocation 列挙値

Top

Top

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

WhatsThisButton

HelpButton

t98sy0cc.alert_note(ja-jp,VS.90).gifメモ :
Visual Basic 2008 では、ヘルプの動作に相違点があります。詳細については、「ヘルプ サポート (Visual Basic 6.0 ユーザー向け)」を参照してください。

WhatsThisHelp

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

Width

Width, Size

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

Form のメソッド

Visual Basic 6.0

Visual Basic 2008 で対応するもの

Circle

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

Cls

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

Line

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

Move

SetBounds

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

OLEDrag

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

PaintPicture

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

Point

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

PopupMenu

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

PrintForm

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

Pset

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

Scale

ScaleX

ScaleY

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

SetFocus

Activate

Show

Show または、次のようにも指定できます。ShowDialog

TextHeight

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

TextWidth

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

ValidateControls

Validate

t98sy0cc.alert_note(ja-jp,VS.90).gifメモ :
Validate メソッドは、True または False を返します。検証が失敗した場合、ValidateControls はエラーを発生します。

WhatsThisMode

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

ZOrder:

 0 – vbBringToFront

 1 - vbSendToBack

BringToFront 関数または SendToBack 関数

 BringToFront

 SendToBack

Form のイベント

Visual Basic 6.0

Visual Basic 2008 で対応するもの

Activate

Activated

t98sy0cc.alert_note(ja-jp,VS.90).gifメモ :
Visual Basic 6.0 では、Activate イベントは、アプリケーション内でフォーム間の切り替えがあったときにのみ発生します。Visual Basic 2008 では、Activated イベントは、他のアプリケーションとの間で切り替えがあったときにも発生します。

Click

Click

t98sy0cc.alert_note(ja-jp,VS.90).gifメモ :
Click イベントは MDI フォームでサポートされていません。

DblClick

DoubleClick

Deactivate

Deactivate

t98sy0cc.alert_note(ja-jp,VS.90).gifメモ :
Visual Basic 6.0 では、Deactivate イベントは、アプリケーション内でフォーム間の切り替えがあったときにのみ発生します。Visual Basic 2008 では、他のアプリケーションへの切り替えがあったときにも発生します。

DragDrop

DragOver

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

GotFocus

Enter

Initialize

New メソッド

t98sy0cc.alert_note(ja-jp,VS.90).gifメモ :
New メソッドの動作は Initialize イベントの動作とは異なります。詳細については、「フォームのタスク (Visual Basic 6.0 ユーザー向け)」を参照してください。

LinkClose

LinkError

LinkExecute

LinkOpen

対応する項目はありません。詳細については、「ダイナミック データ エクスチェンジ (Visual Basic 6.0 ユーザー向け)」を参照してください。

MouseDown

MouseDown

t98sy0cc.alert_note(ja-jp,VS.90).gifメモ :
MouseDown イベントは MDI フォームでサポートされていません。

MouseMove

MouseMove

t98sy0cc.alert_note(ja-jp,VS.90).gifメモ :
MouseMove イベントは MDI フォームでサポートされていません。

MouseUp

MouseUp

t98sy0cc.alert_note(ja-jp,VS.90).gifメモ :
MouseUp イベントは MDI フォームでサポートされていません。

OLECompleteDrag

OLEDragDrop

OLEDragOver

OLEGiveFeedback

OLESetData

OLEStartDrag

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

QueryUnload

FormClosing

t98sy0cc.alert_note(ja-jp,VS.90).gifメモ :
Visual Basic 6.0 では、QueryUnload は、Cancel および UnloadMode という 2 つの引数を受け取ります。Visual Basic 2008 では、Cancel は、Cancel に置き換えられています。UnloadMode は、CloseReason に置き換えられています。

Terminate

Dispose メソッド

t98sy0cc.alert_note(ja-jp,VS.90).gifメモ :
Dispose メソッドの動作は Terminate イベントの動作とは異なります。詳細については、「フォームのイベント (Visual Basic 6.0 ユーザー向け)」を参照してください。

Unload

FormClosing

t98sy0cc.alert_note(ja-jp,VS.90).gifメモ :
FormClosing イベントの動作は Unload イベントの動作とは異なります。詳細については、「フォームのイベント (Visual Basic 6.0 ユーザー向け)」を参照してください。

参照

概念

フォームのタスク (Visual Basic 6.0 ユーザー向け)

その他の技術情報

Windows フォーム