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 |
メモ :
Visual Basic 2008 では、色は別の方法で処理されます。詳細については、「色の動作 (Visual Basic 6.0 ユーザー向け)」を参照してください。
|
BorderStyle |
|
Caption |
|
ClipControls |
新規に実装されました。詳細については、「グラフィックス (Visual Basic 6.0 ユーザー向け)」を参照してください。 |
Controls |
メモ :
Visual Basic 2008 では、Controls コレクションに相違点があります。詳細については、「Controls コレクション (Visual Basic 6.0 ユーザー向け)」を参照してください。
|
Count |
メモ :
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 |
メモ :
Visual Basic 2008 では、フォントは別の方法で処理されます。詳細については、「フォント オブジェクト (Visual Basic 6.0 ユーザー向け)」を参照してください。
|
ForeColor |
メモ :
Visual Basic 2008 では、色は別の方法で処理されます。詳細については、「色の動作 (Visual Basic 6.0 ユーザー向け)」を参照してください。
|
HasDC |
新規に実装されました。詳細については、「グラフィックス (Visual Basic 6.0 ユーザー向け)」を参照してください。 |
HDC |
新規に実装されました。詳細については、「グラフィックス (Visual Basic 6.0 ユーザー向け)」を参照してください。 |
Height |
メモ :
Visual Basic 2008 では、座標は別の方法で処理されます。詳細については、「座標系 (Visual Basic 6.0 ユーザー向け)」を参照してください。
|
HelpContextID |
新規に実装されました。詳細については、「ヘルプ サポート (Visual Basic 6.0 ユーザー向け)」を参照してください。 |
HWnd |
|
Image |
新規に実装されました。Visual Basic 6.0 の Image プロパティはビットマップへのハンドルを返しましたが、Visual Basic 2008 では画像にハンドルはありません。 |
Left |
メモ :
Visual Basic 2008 では、座標は別の方法で処理されます。詳細については、「座標系 (Visual Basic 6.0 ユーザー向け)」を参照してください。
|
LinkMode LinkTopic |
対応する項目はありません。詳細については、「ダイナミック データ エクスチェンジ (Visual Basic 6.0 ユーザー向け)」を参照してください。 |
MaxButton |
|
MDIChild |
メモ :
Visual Basic 2008 では、MDI の動作は異なります。詳細については、「MDI (Visual Basic 6.0 ユーザー向け)」を参照してください。
|
MinButton |
|
MouseIcon |
新規に実装されました。詳細については、「カスタム MousePointer を設定できない」を参照してください。 |
MousePointer |
定数の一覧については、「MousePointer (Visual Basic 6.0 ユーザー向け)」を参照してください。 |
Moveable |
新規に実装されました。詳細については、「Moveable プロパティ (Visual Basic 6.0 ユーザー向け)」を参照してください。 |
Name |
|
NegotiateMenus |
新規に実装されました。詳細については、「Menu オブジェクト (Visual Basic 6.0 ユーザー向け)」を参照してください。 |
OLEDropMode |
新規に実装されました。詳細については、「ドラッグ アンド ドロップ (Visual Basic 6.0 ユーザー向け)」を参照してください。 |
Palette PaletteMode |
新規に実装されました。詳細については、「パレット (Visual Basic 6.0 ユーザー向け)」を参照してください。 |
Picture |
メモ :
Visual Basic 6.0 では、Picture はフォームの左上隅に表示されましたが、Visual Basic 2008 では、BackgroundImage は並べて表示されます。
|
RightToLeft: True False |
Yes 列挙値 |
ScaleHeight ScaleLeft ScaleMode ScaleTop ScaleWidth |
新規に実装されました。詳細については、「座標系 (Visual Basic 6.0 ユーザー向け)」を参照してください。 |
StartUpPosition: 0 – Manual 1 – CenterOwner 2 – CenterScreen 3 – Windows Default |
Manual 列挙値 CenterParent 列挙値 CenterScreen 列挙値 |
Top |
メモ :
Visual Basic 2008 では、座標は別の方法で処理されます。詳細については、「座標系 (Visual Basic 6.0 ユーザー向け)」を参照してください。
|
WhatsThisButton |
メモ :
Visual Basic 2008 では、ヘルプの動作に相違点があります。詳細については、「ヘルプ サポート (Visual Basic 6.0 ユーザー向け)」を参照してください。
|
WhatsThisHelp |
新規に実装されました。詳細については、「ヘルプ サポート (Visual Basic 6.0 ユーザー向け)」を参照してください。 |
Width |
メモ :
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 |
メモ :
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 |
|
Show |
Show または、次のようにも指定できます。ShowDialog |
TextHeight |
新規に実装されました。詳細については、「グラフィックス (Visual Basic 6.0 ユーザー向け)」を参照してください。 |
TextWidth |
新規に実装されました。詳細については、「グラフィックス (Visual Basic 6.0 ユーザー向け)」を参照してください。 |
ValidateControls |
メモ :
Validate メソッドは、True または False を返します。検証が失敗した場合、ValidateControls はエラーを発生します。
|
WhatsThisMode |
新規に実装されました。詳細については、「ヘルプ サポート (Visual Basic 6.0 ユーザー向け)」を参照してください。 |
ZOrder: 0 – vbBringToFront 1 - vbSendToBack |
BringToFront 関数または SendToBack 関数 |
Form のイベント
Visual Basic 6.0 |
Visual Basic 2008 で対応するもの |
---|---|
Activate |
メモ :
Visual Basic 6.0 では、Activate イベントは、アプリケーション内でフォーム間の切り替えがあったときにのみ発生します。Visual Basic 2008 では、Activated イベントは、他のアプリケーションとの間で切り替えがあったときにも発生します。
|
Click |
メモ :
Click イベントは MDI フォームでサポートされていません。
|
DblClick |
|
Deactivate |
メモ :
Visual Basic 6.0 では、Deactivate イベントは、アプリケーション内でフォーム間の切り替えがあったときにのみ発生します。Visual Basic 2008 では、他のアプリケーションへの切り替えがあったときにも発生します。
|
DragDrop DragOver |
新規に実装されました。詳細については、「ドラッグ アンド ドロップ (Visual Basic 6.0 ユーザー向け)」を参照してください。 |
GotFocus |
|
Initialize |
New メソッド
メモ :
New メソッドの動作は Initialize イベントの動作とは異なります。詳細については、「フォームのタスク (Visual Basic 6.0 ユーザー向け)」を参照してください。
|
LinkClose LinkError LinkExecute LinkOpen |
対応する項目はありません。詳細については、「ダイナミック データ エクスチェンジ (Visual Basic 6.0 ユーザー向け)」を参照してください。 |
MouseDown |
メモ :
MouseDown イベントは MDI フォームでサポートされていません。
|
MouseMove |
メモ :
MouseMove イベントは MDI フォームでサポートされていません。
|
MouseUp |
メモ :
MouseUp イベントは MDI フォームでサポートされていません。
|
OLECompleteDrag OLEDragDrop OLEDragOver OLEGiveFeedback OLESetData OLEStartDrag |
新規に実装されました。詳細については、「ドラッグ アンド ドロップ (Visual Basic 6.0 ユーザー向け)」を参照してください。 |
QueryUnload |
メモ :
Visual Basic 6.0 では、QueryUnload は、Cancel および UnloadMode という 2 つの引数を受け取ります。Visual Basic 2008 では、Cancel は、Cancel に置き換えられています。UnloadMode は、CloseReason に置き換えられています。
|
Terminate |
Dispose メソッド
メモ :
Dispose メソッドの動作は Terminate イベントの動作とは異なります。詳細については、「フォームのイベント (Visual Basic 6.0 ユーザー向け)」を参照してください。
|
Unload |
メモ :
FormClosing イベントの動作は Unload イベントの動作とは異なります。詳細については、「フォームのイベント (Visual Basic 6.0 ユーザー向け)」を参照してください。
|
参照
概念
フォームのタスク (Visual Basic 6.0 ユーザー向け)