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 |
|
||
Columns |
|||
Container |
|||
DataChanged DataField DataFormat DataMember DataSource |
新規に実装されました。詳細については、「データ アクセス (Visual Basic 6.0 ユーザー向け)」を参照してください。 |
||
DragIcon DragMode |
新規に実装されました。詳細については、「ドラッグ アンド ドロップ (Visual Basic 6.0 ユーザー向け)」を参照してください。 |
||
FontFont FontBold FontItalic FontName FontSize FontStrikethrough FontUnderline |
|
||
ForeColor |
|
||
Height |
|
||
HelpContextID |
新規に実装されました。詳細については、「ヘルプ サポート (Visual Basic 6.0 ユーザー向け)」を参照してください。 |
||
HWnd |
|||
Index |
新規に実装されました。詳細については、「コントロール配列 (Visual Basic 6.0 ユーザー向け)」を参照してください。 |
||
IntegralHeight |
|||
ItemData |
新規に実装されました。詳細については、「ItemData プロパティをアップグレードできない」を参照してください。 |
||
Left |
|
||
List |
|||
ListCount |
Count (List.Count) |
||
ListIndex |
|||
MouseIcon |
新規に実装されました。詳細については、「カスタム MousePointer を設定できない」を参照してください。 |
||
MousePointer |
定数の一覧については、「MousePointer (Visual Basic 6.0 ユーザー向け)」を参照してください。 |
||
MultiSelect |
|||
NewIndex |
新規に実装されました。詳細については、「NewIndex プロパティをアップグレードできない」を参照してください。 |
||
OLEDragMode OLEDropMode |
新規に実装されました。詳細については、「ドラッグ アンド ドロップ (Visual Basic 6.0 ユーザー向け)」を参照してください。 |
||
Parent |
FindForm メソッド |
||
SelCount |
Count (SelectedItem.Count) |
||
Selected |
GetSelected、SetSelected (ListBox コントロール) GetItemChecked、SetItemChecked (CheckedListBox コントロール) |
||
Style |
新規に実装されたプロパティ。0 – Standard は CheckedListBox コントロールに対応付けられ、1 – Checkbox は CheckedListBox コントロールに対応付けられます。 |
||
ToolTipText |
ToolTip コンポーネント 詳細については、「ツールヒントのサポート (Visual Basic 6.0 ユーザー向け)」を参照してください。 |
||
Top |
|
||
WhatsThisHelpID |
新規に実装されました。詳細については、「ヘルプ サポート (Visual Basic 6.0 ユーザー向け)」を参照してください。 |
||
Width |
|
メソッド
名前 |
Visual Basic 2008 で対応するもの |
||
---|---|---|---|
AddItem |
|||
Clear |
|||
Drag |
新規に実装されました。詳細については、「ドラッグ アンド ドロップ (Visual Basic 6.0 ユーザー向け)」を参照してください。 |
||
Move |
|
||
OLEDrag |
新規に実装されました。詳細については、「ドラッグ アンド ドロップ (Visual Basic 6.0 ユーザー向け)」を参照してください。 |
||
RemoveItem |
|||
SetFocus |
|||
ShowWhatsThis |
新規に実装されました。詳細については、「ヘルプ サポート (Visual Basic 6.0 ユーザー向け)」を参照してください。 |
||
ZOrder |
BringToFront メソッドまたは SendToBack メソッド |
イベント
Visual Basic 6.0 |
Visual Basic 2008 で対応するもの |
---|---|
DblClick |
|
DragDrop DragOver |
新規に実装されました。詳細については、「ドラッグ アンド ドロップ (Visual Basic 6.0 ユーザー向け)」を参照してください。 |
GotFocus |
|
ItemCheck |
ItemCheck (CheckedListBox のみ) |
LostFocus |
|
OLECompleteDrag OLEDragDrop OLEDragOver OLEGiveFeedback OLESetData OLEStartDrag |
新規に実装されました。詳細については、「ドラッグ アンド ドロップ (Visual Basic 6.0 ユーザー向け)」を参照してください。 |
Scroll |
新規に実装されました。詳細については、「TopIndex プロパティおよび Scroll イベント (Visual Basic 6.0 ユーザー向け)」を参照してください。 |
Validate |
アップグレード メモ
アップグレード時には、Visual Basic 6.0 の Listbox の Style プロパティが 1 – Checkbox に設定されている場合は CheckedListBox コントロールにアップグレードされ、それ以外の場合は ListBox コントロールにアップグレードされます。
参照
参照
ListBox コントロールの概要 (Windows フォーム)