Share via


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

更新 : 2007 年 11 月

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

概念の違い

オンになっている ListBox

Visual Basic 6.0 では、各テキスト アイテムの横にチェック ボックスを表示するかどうかは ListBox コントロールの Style プロパティによって決定されます。ListBox 内の複数のアイテムを選択するには、アイテムの MultiSelect プロパティが False に設定されているかどうかにかかわらず、アイテムの横のチェック ボックスをオンにします。アイテムがオンになっていることをプログラムで確認する方法はありません。この機能が必要な場合は、代わりに ListView コントロールを使用します。

Visual Basic 2008 では、新しい CheckedListBox コントロールによってチェック ボックスが各アイテムの横に表示されます。ListBox コントロール内にチェック ボックスを表示することはできなくなりました。CheckedListBox コントロールを使うと、各アイテムがオンになっているかどうかを CheckedListBox.CheckedItemCollection コレクションを通じてプログラムで確認できます。

Columns プロパティ

Visual Basic 6.0 では、Columns プロパティは、表示する列の番号を示す整数でした。

Visual Basic 2008 では、MultiColumn プロパティはブール値であり、ColumnWidth プロパティは幅をピクセル数で示す整数です。実行時に ListBox コントロールの幅が変更された場合は、各列の ColumnWidth プロパティの設定も必要な場合があります。

ItemCheck イベント

Visual Basic 6.0 の ListBox コントロールでは、ItemCheck イベントが発生するときに、チェックの状態が既に変わっていました。

Visual Basic 2008 の CheckedListBox コントロールでは、ItemCheck イベントが発生したときにはまだチェックの状態に変化はありません。イベントに渡される ItemCheckEventArgs 引数から保留中の値を取得できます。

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

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

ListBox コントロールにアイテムを追加および削除するコードの変更

次のコード例は、ListBox アイテムを追加および削除する方法を示します。

' Visual Basic 6.0
' Add an item at the end of the list.
List1.AddItem "Tokyo"
' Insert an item at the top of the list.
List1.AddItem "Copenhagen", 0
' Remove the first item.
List1.RemoveItem 0
'Visual Basic
' Add an item at the end of the list.
ListBox1.Items.Add("Tokyo")
' Insert an item at the top of the list.
ListBox1.Items.Insert(0, "Copenhagen")
' Remove the first item.
ListBox1.Items.RemoveAt(0)

ListBox コントロールの特定のアイテムにアクセスするコードの変更

次のコード例は、ListBox アイテムの値を返す方法を示します。

' Visual Basic 6.0
Private Function GetItemText(i As Integer) As String
   ' Return the text of the item using the index:
   GetItemText = ListBox1.List(i)
End Function
' Visual Basic
Private Function GetItemText(ByVal i As Integer) As String
   ' Return the text of the item using the index:
   GetItemText = CStr(ListBox1.Items(i))
End Function

CheckedListBox コントロールでアイテムがオンになっているかどうかを確認するコードの変更

次のコード例は、CheckedListBox コントロール内にあるアイテムのチェックの状態を確認する方法を示します。

' Visual Basic 6.0
' The Visual Basic 6.0 ListBox control didn't support this scenario,
' a ListView control had to be used instead.
Dim s As String
Dim i As Integer
' Loop through all items
For i = 1 To ListView1.ListItems.Count
   ' If an item is checked, add it to the string
   If ListView1.ListItems(i).Checked = True Then
      s = s & "Checked Item" & CStr(i) & " = " & _
ListView1.ListItems(i) & vbCrLf
   End If
Next
' Determine if any items are checked.
If s <> "" Then
    MsgBox s
End If
' Visual Basic
' Determine if there are any items checked.
If CheckedListBox1.CheckedItems.Count <> 0 Then
  ' If so, loop through all checked items and print results.
  Dim x As Integer
  Dim s As String = ""
  For x = 0 To CheckedListBox1.CheckedItems.Count - 1
      s = s & "Checked Item " & CStr(x + 1) & " = " & _
      CStr(CheckedListBox1.CheckedItems(x)) & ControlChars.CrLf
  Next x
  MessageBox.Show(s)
End If

ListBox コントロールのプロパティ、メソッド、およびイベントの同等物

次の表は、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

メモ :

Visual Basic 2008 では、色は別の方法で処理されます。詳細については、「色の動作 (Visual Basic 6.0 ユーザー向け)」を参照してください。

Columns

MultiColumn およびColumnWidth

Container

Parent

DataChanged

DataField

DataFormat

DataMember

DataSource

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

DragIcon

DragMode

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

FontFont

FontBold

FontItalic

FontName

FontSize

FontStrikethrough

FontUnderline

Font

メモ :

Visual Basic 2008 では、フォントは別の方法で処理されます。詳細については、「フォント オブジェクト (Visual Basic 6.0 ユーザー向け)」を参照してください。

ForeColor

ForeColor

メモ :

Visual Basic 2008 では、色は別の方法で処理されます。詳細については、「色の動作 (Visual Basic 6.0 ユーザー向け)」を参照してください。

Height

Height, Size

メモ :

Visual Basic 2008 では、座標は別の方法で処理されます。詳細については、「座標系 (Visual Basic 6.0 ユーザー向け)」を参照してください。

HelpContextID

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

HWnd

Handle

Index

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

IntegralHeight

IntegralHeight

ItemData

新規に実装されました。詳細については、「ItemData プロパティをアップグレードできない」を参照してください。

Left

Left

メモ :

Visual Basic 2008 では、座標は別の方法で処理されます。詳細については、「座標系 (Visual Basic 6.0 ユーザー向け)」を参照してください。

List

Items

ListCount

Count (List.Count)

ListIndex

SelectedIndex

MouseIcon

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

MousePointer

Cursor

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

MultiSelect

SelectionMode

NewIndex

新規に実装されました。詳細については、「NewIndex プロパティをアップグレードできない」を参照してください。

OLEDragMode

OLEDropMode

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

Parent

FindForm メソッド

SelCount

Count (SelectedItem.Count)

Selected

GetSelectedSetSelected (ListBox コントロール)

GetItemCheckedSetItemChecked (CheckedListBox コントロール)

Style

新規に実装されたプロパティ。0 – Standard は CheckedListBox コントロールに対応付けられ、1 – Checkbox は CheckedListBox コントロールに対応付けられます。

ToolTipText

ToolTip コンポーネント

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

Top

Top

メモ :

Visual Basic 2008 では、座標は別の方法で処理されます。詳細については、「座標系 (Visual Basic 6.0 ユーザー向け)」を参照してください。

WhatsThisHelpID

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

Width

Width, Size

メモ :

Visual Basic 2008 では、座標は別の方法で処理されます。詳細については、「座標系 (Visual Basic 6.0 ユーザー向け)」を参照してください。

メソッド

名前

Visual Basic 2008 で対応するもの

AddItem

Add

AddRange

Insert

Clear

Clear

Drag

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

Move

SetBounds

メモ :

Visual Basic 2008 では、座標は別の方法で処理されます。詳細については、「座標系 (Visual Basic 6.0 ユーザー向け)」を参照してください。

OLEDrag

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

RemoveItem

Remove

SetFocus

Focus

ShowWhatsThis

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

ZOrder

BringToFront メソッドまたは SendToBack メソッド

イベント

Visual Basic 6.0

Visual Basic 2008 で対応するもの

DblClick

DoubleClick

DragDrop

DragOver

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

GotFocus

Enter

ItemCheck

ItemCheck (CheckedListBox のみ)

LostFocus

Leave

OLECompleteDrag

OLEDragDrop

OLEDragOver

OLEGiveFeedback

OLESetData

OLEStartDrag

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

Scroll

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

Validate

Validating

アップグレード メモ

アップグレード時には、Visual Basic 6.0 の Listbox の Style プロパティが 1 – Checkbox に設定されている場合は CheckedListBox コントロールにアップグレードされ、それ以外の場合は ListBox コントロールにアップグレードされます。

参照

参照

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

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

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