Share via


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

更新 : 2007 年 11 月

Visual Basic 2008 では、Visual Basic 6.0 の DataGrid コントロールは Windows フォームの DataGridView コントロールに置き換えられています。プロパティ、メソッド、イベント、および定数の中には、名称が異なるものや、動作の異なるものもあります。

概念上の相違点

データ連結

Visual Basic 2008 の DataGridView コントロールは、すべての動作がデータ ソース経由で行われるため、データ固有のメソッドやイベントを必要としません。このようにデータを表示形式から分離することで、ユーザー インターフェイスの入力の有無にかかわらず、データ ソースを変更できます。また、同じデータ ソースに連結された複数のコントロールは、常に同期しています。

移動

DataGrid コントロール内での表示や移動のためのプロパティ (TabAction、EnterAction、AllowArrows、WrapCellPointer、Scrollable など) は不要になりました。たとえば、グリッドは Scrollable プロパティが True に設定されているときと同様に機能し、表示できる以上のデータが存在する場合は、スクロール バーが自動的に表示されます。既定では、グリッド内の移動は Excel と同様の形式になります。Tab キーを押すと前方へ移動し、Shift キーを押しながら Tab キーを押すと後方へ移動できます。詳細については、「Windows フォーム DataGridView コントロールの既定のキーボード処理とマウス処理」を参照してください。

Caption プロパティ

Visual Basic 6.0 では、Caption プロパティを使用して、グリッドの上にタイトル バーを表示します。Caption プロパティを設定しない場合は、タイトル バーが表示されません。

Visual Basic 2008 の DataGridView コントロールは、タイトル バーをサポートしていません。ただし、Label コントロールを使用して同じ効果を実現できます。

データの書式設定

Visual Basic 6.0 では、DataGrid コントロール内のデータの書式設定は、DataFormat プロパティと StdDataFormat オブジェクトを使用して行います。書式設定は、列単位に適用されます。

Visual Basic 2008 の DataGridView コントロールでは、DataGridViewCellStyle オブジェクトの Format プロパティを使用して、書式設定が行われます。書式設定は、セル単位、列単位、または行単位で適用できます。詳細については、「Windows フォーム DataGridView コントロールでのデータの書式設定」を参照してください。

hWndEditor プロパティ

Visual Basic 6.0 では、hWndEditor プロパティを使用して、DataGrid コントロールの編集ウィンドウに割り当てられたウィンドウ ハンドルを、Windows API の呼び出しに渡します。

Visual Basic 2008 の DataGridView コントロールには、編集モードのときに個別のウィンドウ ハンドルが割り当てられません。DataGridView コントロールの Handle プロパティを使用するか、埋め込みのエディット コントロールを使用します。

MarqueeStyle プロパティ

Visual Basic 6.0 では、MarqueeStyle プロパティを使用して、選択したセルまたは行の境界線スタイルを変更したり、前景色と背景色を反転したり、編集ウィンドウを起動したりすることにより、その外観を制御します。

Visual Basic 2008 には、DataGridView コントロールに直接対応する項目はありません。しかし、SelectionModeCellBorderStyle、および Format の各プロパティを組み合わせることによって同じ効果を実現できます。詳細については、「Windows フォーム DataGridView コントロールの選択モード」を参照してください。

SelLength プロパティ、SelStart プロパティ、SelText プロパティ

Visual Basic 6.0 の DataGrid コントロールでは、セルが編集モードになったときに、SelLength、SelStart、および SelText の各プロパティを使用して、キャレット (^) の最初の位置を設定したり、セル内でテキストの一部を強調表示したりできます。

Visual Basic 2008 の DataGridView コントロールでは、これらのプロパティは使用されなくなりました。DataGridView コントロール内のセルは、TextBox コントロールを基準としています。EditingControlShowing イベント ハンドラにコードを追加することにより、基底のコントロールの SelectionLengthSelectionStart、および SelectedText の各プロパティにアクセスできます。

分割ビュー

Visual Basic 6.0 の DataGrid コントロールは、分割ビューをサポートするため、同じデータを並べて表示できます。Split オブジェクト、Split プロパティ、 Splits プロパティ、および TabAcrossSplits プロパティによって、分割ビューを表示できるかどうかを制御しています。

Visual Basic 2008 の DataGridView では、これらのプロパティは使用されなくなりました。ただし、1 つ以上の SplitContainer コントロールと複数の DataGridView コントロールを使用して、同じ効果を実現できます。TabAcrossSplits プロパティの機能を複製するには、DataGridView コントロールの StandardTab プロパティを使用します。

DataGrid コントロールに関するコードの変更点

次のコードでは、DataGridView コントロール内のセルが選択されたときに、セル内のテキストを強調表示する方法をそれぞれ示すことによって、Visual Basic 6.0 と Visual Basic 2008 の相違を示しています。

' Visual Basic 6.0
Private Sub DataGrid1_Click()
    DataGrid1.SelStart = 1
    DataGrid1.SelLength = DataGrid1.Text
    MsgBox("The selected text is " & DataGrid1.SelText)
End Sub
' Visual Basic
Private Sub DataGridView1_EditingControlShowing( _
ByVal sender As Object, ByVal e As System.Windows.Forms. _
DataGridViewEditingControlShowingEventArgs) _
Handles DataGridView1.EditingControlShowing
    CType(e.Control, TextBox).SelectionStart = 0
    CType(e.Control, TextBox).SelectionLength = Len(CType(e.Control, _
      TextBox).Text)
    MsgBox("The selected text is " & CType(e.Control, _
      TextBox).SelectedText)
End Sub

DataGrid コントロールのプロパティ、メソッド、およびイベントの対応

次の表は、Visual Basic 6.0 のプロパティ、メソッド、およびイベントと、対応する Visual Basic 2008 のプロパティ、メソッド、およびイベントの一覧です。同じ名前で同じ動作を持つプロパティ、メソッド、およびイベントは、一覧に含まれていません。特に明記されていない限り、すべての Visual Basic 2008 列挙型は System.Windows.Forms 名前空間に対応します。

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

プロパティ

Visual Basic 6.0

対応する Visual Basic 2005 のイベント

AddNewMode

新規に実装されました。データの操作はデータ ソースで処理されます。詳細については、「Windows フォーム DataGridView コントロールでのデータの表示」を参照してください。

Align

Dock およびAnchor

AllowAddNew

AllowNew (BindingSource)

AllowArrows

調整可能なプロパティではなくなりました。方向キーによる移動は常に可能です。詳細については、「Windows フォーム DataGridView コントロールの既定のキーボード処理とマウス処理」を参照してください。

AllowDelete

AllowRemove (BindingSource)

AllowRowSizing

AllowUserToResizeRows

AllowUpdate

AllowEdit (BindingSource)

Appearance

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

ApproxCount

新規に実装されました。データの操作はデータ ソースで処理されます。詳細については、「Windows フォーム DataGridView コントロールでのデータの表示」を参照してください。

BackColor

BackgroundColor

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

Bookmark

新規に実装されました。すべての項目に直接アクセスできます。

Caption

新規に実装されました。タイトル バーをシミュレートするには、Label コントロールを使用します。

Col

SelectedColumns

ColumnHeaders

ColumnHeadersVisible

Container

Parent。Control からの継承メンバです。

CurrentCellModified

IsCurrentCellDirty, IsCurrentCellInEditMode

CurrentCellVisible

CurrentCell

y4ddh1ac.alert_note(ja-jp,VS.90).gifメモ :
画面上に見えていないセルに CurrentCell プロパティが設定されている場合は、グリッドがスクロールしてそのセルを表示します (CurrentCellVisible を True に設定した場合と同じ)。

DataChanged

IsCurrentCellDirty, IsCurrentRowDirty

DataFormats

DataGridViewCellStyle オブジェクト。

y4ddh1ac.alert_note(ja-jp,VS.90).gifメモ :
書式はセル単位、列単位、または行単位で設定できます。

DefColWidth

WidthDataGridViewColumn オブジェクト。

DragIcon

DragMode

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

EditActive

IsCurrentCellInEditMode

FirstRow

FirstDisplayedScrollingRowIndex

Font

FontBold

FontItalic

FontName

FontSize

FontStrikethrough

FontUnderline

Font

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

ForeColor

ForeColor

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

HeadFont

DataGridViewCellStyle オブジェクト。

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

HeadLines

直接対応する項目はありません。DataGridViewCellStyle オブジェクトの WrapMode プロパティを ColumnHeadersHeight と組み合わせて使用します。

Height

Height。Control クラスからの継承メンバです。

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

HelpContextID

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

hWnd

Handle

hWndEditor

新規に実装されました。Handle を使用します。

Index

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

Left

Left。Control クラスからの継承メンバです。

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

LeftCol

FirstDisplayedScrollingColumnIndex

MarqueeStyle

直接対応する項目はありません。SelectionModeCellBorderStyle、および Format の各プロパティを使用します。

RecordSelectors

RowHeadersVisible

Row

SelectedRows

RowDividerStyle

GridColorCellBorderStyleRowHeadersBorderStyleColumnHeadersBorderStyle の各プロパティ。

RowHeight

Height

SelBookmarks

新規に実装されました。すべての項目に直接アクセスできます。

SelEndCol

SelStartCol

SelectedCells, SelectedColumns

SelLength

直接対応する項目はありません。SelectionLength プロパティを EditingControlShowing イベント ハンドラで使用します。

SelStart

直接対応する項目はありません。SelectionStart プロパティを EditingControlShowing イベント ハンドラで使用します。

SelText

直接対応する項目はありません。SelectedText プロパティを EditingControlShowing イベント ハンドラで使用します。

Split

Splits

TabAcrossSplits

新規に実装されました。分割ビューは直接サポートされていません。SplitContainer コントロールを使用します。

TabAction

StandardTab

Tag

新規に実装されました。

Text

CurrentCell.Value

y4ddh1ac.alert_note(ja-jp,VS.90).gifメモ :
Value プロパティは Object を返します。これを String に変換するには、CStr または ToString を使用します。

ToolTipText

ToolTip コンポーネント

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

Top

Top

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

VisibleCols

DisplayedColumnCount メソッド。

y4ddh1ac.alert_note(ja-jp,VS.90).gifメモ :
Visual Basic 6.0 では、部分的に表示されている列は常にカウントに含まれます。DisplayedColumnCount メソッドは、ブール値の includePartialColumns パラメータを使用して、部分的に表示されている列を含めるかどうかを決定します。

VisibleRows

DisplayedRowCount メソッド。

y4ddh1ac.alert_note(ja-jp,VS.90).gifメモ :
Visual Basic 6.0 では、部分的に表示されている行は常にカウントに含まれます。DisplayedRowCount メソッドは、ブール値の includePartialRows パラメータを使用して、部分的に表示されている行を含めるかどうかを決定します。

WhatsThisHelpID

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

Width

Width。Control クラスからの継承メンバです。

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

WrapCellPointer

調整可能なプロパティではなくなりました。既定の動作は WrapCellPointer = True です。

メソッド

Visual Basic 6.0

対応する Visual Basic 2005 のイベント

CaptureImage

新規に実装されました。DataGridView コントロールの内容を PictureBox コントロールに取り込む機能はサポートされていません。

ClearFields

新規に実装されました。再バインディング時には列の書式設定が自動で行われます。

ClearSelCols

ClearSelection

ColContaining

IndexOf (DataGridViewColumnCollection)

Drag

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

GetBookmark

新規に実装されました。ブックマークはサポート対象から除外されました。

HoldFields

新規に実装されました。再バインディング時には列の書式設定が保存されます。

Move

SetBounds。Control クラスからの継承メンバです。

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

Rebind

ResetBindings。Control クラスからの継承メンバです。

RowBookmark

新規に実装されました。ブックマークはサポート対象から除外されました。

RowContaining

IndexOf (DataGridViewColumnCollection)

RowTop

GetContentBounds (DataGridViewCell)

Scroll

新規に実装されたメソッド。CurrentCell プロパティを使用します。

SetFocus

Focus

ShowWhatsThis

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

SplitContaining

新規に実装されました。分割ビューは直接サポートされていません。SplitContainer コントロールを使用します。

ZOrder

BringToFront() 関数または SendToBack() 関数

イベント

Visual Basic 6.0

対応する Visual Basic 2005 のイベント

AfterColEdit

CellEndEdit

AfterColUpdate

AfterDelete

新規に実装されました。データの操作はデータ ソースで処理されます。詳細については、「Windows フォーム DataGridView コントロールでのデータの表示」を参照してください。

AfterUpdate

RowsAdded

BeforeColEdit

CellBeginEdit

BeforeColUpdate

BeforeDelete

BeforeInsert

BeforeUpdate

新規に実装されました。データの操作はデータ ソースで処理されます。詳細については、「Windows フォーム DataGridView コントロールでのデータの表示」を参照してください。

ButtonClick

Click (Button コントロール)

Change

TextChanged

y4ddh1ac.alert_note(ja-jp,VS.90).gifメモ :
TextChanged イベントの動作は少し変更されています。詳細については、「ComboBox コントロールの Change イベント (Visual Basic 6.0 ユーザー向け)」を参照してください。

Click

SelectedIndexChanged

ColEdit

CellBeginEdit

ColResize

ColumnWidthChanged

DblClick

CellMouseDoubleClick

DragDrop

DragOver

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

Error

DataError

HeadClick

ColumnHeaderMouseClick

MouseDown

CellMouseDown

MouseMove

CellMouseMove

MouseUp

CellMouseUp

OLECompleteDrag

OLEDragDrop

OLEDragOver

OLEGiveFeedback

OLESetData

OLEStartDrag

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

OnAddNew

RowsAdded

RowColChange

CurrentCellChanged

RowResize

RowHeightChanged

SelChange

SelectionChanged

SplitChange

新規に実装されました。分割ビューは直接サポートされていません。SplitContainer コントロールを使用します。

Validate

Validating

アップグレード メモ

Visual Basic 6.0 プロジェクトを Visual Basic 2008 にアップグレードすると、DataGrid コントロールの Change イベントが、Visual Basic 2008 の DataGridView コントロールの TextChanged イベントにマップされます。TextChanged イベントの動作は、Change イベントの動作とは異なります。この相異によって、コードで意図した結果が得られない場合があります。

データ固有のメソッドに関連するコードや、データ固有のイベントに関連するコードはアップグレードされません。警告のコメントがコードに追加されます。そのコードは、アプリケーションをコンパイルする前に削除または変更する必要があります。

参照

概念

DataGridView コントロール テクノロジの概要 (Windows フォーム)

.NET Framework 2.0 の Windows フォームへの追加機能

参照

DataGridView コントロールの概要 (Windows フォーム)

各言語およびライブラリにおける、コントロールとプログラミング可能オブジェクトの比較

その他の技術情報

DataGridView コントロール (Windows フォーム)

Windows フォーム コントロール (Visual Basic 6.0 ユーザー向け)

Windows フォームでのデータ バインディング