ListBox.ObjectCollection クラス
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)


ListBox.ObjectCollection クラスは、ListBox に表示される項目を格納します。ListBox クラス内では、ほかにも 2 つのコレクションが定義されており、これらを使用して、このコレクション内でどの項目が選択されているかを判断できます。ListBox.SelectedObjectCollection クラスは、ListBox.ObjectCollection 内で選択されている項目を判断するプロパティとメソッドを提供します。また、ListBox.SelectedIndexCollection クラスを使用すると、ListBox.ObjectCollection 内で選択されている項目のインデックスを確認できます。
項目をコレクションに追加するには、いくつか方法があります。Add メソッドを使用すると、単一のオブジェクトをコレクションに追加できます。複数のオブジェクトをコレクションに追加するには、項目の配列を作成し、その配列を AddRange メソッドに割り当てます。コレクション内の特定の位置にオブジェクトを挿入するには、Insert メソッドを使用します。項目を削除するには、Remove メソッドか、コレクション内の項目の位置が判明している場合は RemoveAt メソッドを使用できます。Clear メソッドを使用すると、Remove メソッドを使用して一度に 1 つずつ項目を削除する代わりに、コレクションからすべての項目を削除できます。
DataSource プロパティを使用しても、ListBox の項目を操作できます。DataSource プロパティを使用して項目を ListBox に追加した場合は、それらの項目を Items プロパティを使用して ListBox に表示できますが、ListBox.ObjectCollection のメソッドを使用して、リストに対して項目の追加や削除を行うことはできません。
ListBox.ObjectCollection は、項目を追加したり削除したりするためのメソッドおよびプロパティのほかに、コレクション内で項目を検索するメソッドも提供します。Contains メソッドを使用すると、オブジェクトがコレクションのメンバかどうかを判断できます。コレクション内に項目があることが判明している場合は、IndexOf メソッドを使用して、その項目がコレクションのどこに位置しているかを確認できます。

DrawMode プロパティを OwnerDrawVariable 値に設定し、DrawItem イベントおよび MeasureItem イベントを処理して、オーナー描画の ListBox を作成するコード例を次に示します。また、この例では、BorderStyle プロパティおよび ScrollAlwaysVisible プロパティを設定し、AddRange メソッドを使用しています。
この例を実行するには、System.Drawing 名前空間と System.Windows.Forms 名前空間をインポートした空のフォームに貼り付けます。このフォームのコンストラクタまたは Load メソッドで InitializeOwnerDrawnListBox を呼び出します。
Friend WithEvents ListBox1 As System.Windows.Forms.ListBox Private Sub InitializeOwnerDrawnListBox() Me.ListBox1 = New System.Windows.Forms.ListBox ' Set the location and size. ListBox1.Location = New Point(20, 20) ListBox1.Size = New Size(240, 240) ' Populate the ListBox.ObjectCollection property ' with several strings, using the AddRange method. Me.ListBox1.Items.AddRange(New Object() _ {"System.Windows.Forms", "System.Drawing", "System.Xml", _ "System.Net", "System.Runtime.Remoting", "System.Web"}) ' Turn off the scrollbar. ListBox1.ScrollAlwaysVisible = False ' Set the border style to a single, flat border. ListBox1.BorderStyle = BorderStyle.FixedSingle ' Set the DrawMode property to the OwnerDrawVariable value. ' This means the MeasureItem and DrawItem events must be ' handled. ListBox1.DrawMode = DrawMode.OwnerDrawVariable Me.Controls.Add(Me.ListBox1) End Sub ' Handle the DrawItem event for an owner-drawn ListBox. Private Sub ListBox1_DrawItem(ByVal sender As Object, _ ByVal e As DrawItemEventArgs) Handles ListBox1.DrawItem ' If the item is the selected item, then draw the rectangle filled in ' blue. The item is selected when a bitwise And of the State property ' and the DrawItemState.Selected property is true. If (e.State And DrawItemState.Selected = DrawItemState.Selected) Then e.Graphics.FillRectangle(Brushes.CornflowerBlue, e.Bounds) Else ' Otherwise, draw the rectangle filled in beige. e.Graphics.FillRectangle(Brushes.Beige, e.Bounds) End If ' Draw a rectangle in blue around each item. e.Graphics.DrawRectangle(Pens.Blue, e.Bounds) ' Draw the text in the item. e.Graphics.DrawString(Me.ListBox1.Items(e.Index), Me.Font, _ Brushes.Black, e.Bounds.X, e.Bounds.Y) ' Draw the focus rectangle around the selected item. e.DrawFocusRectangle() End Sub ' Handle the MeasureItem event for an owner-drawn ListBox. Private Sub ListBox1_MeasureItem(ByVal sender As Object, _ ByVal e As MeasureItemEventArgs) Handles ListBox1.MeasureItem ' Cast the sender object back to ListBox type. Dim theListBox As ListBox = CType(sender, ListBox) ' Get the string contained in each item. Dim itemString As String = CType(theListBox.Items(e.Index), String) ' Split the string at the " . " character. Dim resultStrings() As String = itemString.Split(".") ' If the string contains more than one period, increase the ' height by ten pixels; otherwise, increase the height by ' five pixels. If (resultStrings.Length > 2) Then e.ItemHeight += 10 Else e.ItemHeight += 5 End If End Sub
internal System.Windows.Forms.ListBox ListBox1; private void InitializeOwnerDrawnListBox() { this.ListBox1 = new System.Windows.Forms.ListBox(); // Set the location and size. ListBox1.Location = new Point(20, 20); ListBox1.Size = new Size(240, 240); // Populate the ListBox.ObjectCollection property // with several strings, using the AddRange method. this.ListBox1.Items.AddRange(new object[]{"System.Windows.Forms", "System.Drawing", "System.Xml", "System.Net", "System.Runtime.Remoting", "System.Web"}); // Turn off the scrollbar. ListBox1.ScrollAlwaysVisible = false; // Set the border style to a single, flat border. ListBox1.BorderStyle = BorderStyle.FixedSingle; // Set the DrawMode property to the OwnerDrawVariable value. // This means the MeasureItem and DrawItem events must be // handled. ListBox1.DrawMode = DrawMode.OwnerDrawVariable; ListBox1.MeasureItem += new MeasureItemEventHandler(ListBox1_MeasureItem); ListBox1.DrawItem += new DrawItemEventHandler(ListBox1_DrawItem); this.Controls.Add(this.ListBox1); } // Handle the DrawItem event for an owner-drawn ListBox. private void ListBox1_DrawItem(object sender, DrawItemEventArgs e) { // If the item is the selected item, then draw the rectangle // filled in blue. The item is selected when a bitwise And // of the State property and the DrawItemState.Selected // property is true. if ((e.State & DrawItemState.Selected) == DrawItemState.Selected) { e.Graphics.FillRectangle(Brushes.CornflowerBlue, e.Bounds); } else { // Otherwise, draw the rectangle filled in beige. e.Graphics.FillRectangle(Brushes.Beige, e.Bounds); } // Draw a rectangle in blue around each item. e.Graphics.DrawRectangle(Pens.Blue, e.Bounds); // Draw the text in the item. e.Graphics.DrawString(ListBox1.Items[e.Index].ToString(), this.Font, Brushes.Black, e.Bounds.X, e.Bounds.Y); // Draw the focus rectangle around the selected item. e.DrawFocusRectangle(); } // Handle the MeasureItem event for an owner-drawn ListBox. private void ListBox1_MeasureItem(object sender, MeasureItemEventArgs e) { // Cast the sender object back to ListBox type. ListBox theListBox = (ListBox) sender; // Get the string contained in each item. string itemString = (string) theListBox.Items[e.Index]; // Split the string at the " . " character. string[] resultStrings = itemString.Split('.'); // If the string contains more than one period, increase the // height by ten pixels; otherwise, increase the height by // five pixels. if (resultStrings.Length>2) { e.ItemHeight += 10; } else { e.ItemHeight += 5; } }
internal: System::Windows::Forms::ListBox^ ListBox1; private: void InitializeOwnerDrawnListBox() { this->ListBox1 = gcnew System::Windows::Forms::ListBox; // Set the location and size. ListBox1->Location = Point(20,20); ListBox1->Size = System::Drawing::Size( 240, 240 ); // Populate the ListBox.ObjectCollection property // with several strings, using the AddRange method. array<Object^>^temp0 = {"System.Windows.Forms","System.Drawing" ,"System.Xml","System.Net","System.Runtime.Remoting" ,"System.Web"}; this->ListBox1->Items->AddRange( temp0 ); // Turn off the scrollbar. ListBox1->ScrollAlwaysVisible = false; // Set the border style to a single, flat border. ListBox1->BorderStyle = BorderStyle::FixedSingle; // Set the DrawMode property to the OwnerDrawVariable value. // This means the MeasureItem and DrawItem events must be // handled. ListBox1->DrawMode = DrawMode::OwnerDrawVariable; ListBox1->MeasureItem += gcnew MeasureItemEventHandler( this, &Form1::ListBox1_MeasureItem ); ListBox1->DrawItem += gcnew DrawItemEventHandler( this, &Form1::ListBox1_DrawItem ); this->Controls->Add( this->ListBox1 ); } // Handle the DrawItem event for an owner-drawn ListBox. void ListBox1_DrawItem( Object^ /*sender*/, DrawItemEventArgs^ e ) { // If the item is the selected item, then draw the rectangle // filled in blue. The item is selected when a bitwise And // of the State property and the DrawItemState.Selected // property is true. if ( (e->State & DrawItemState::Selected) == DrawItemState::Selected ) { e->Graphics->FillRectangle( Brushes::CornflowerBlue, e->Bounds ); } else { // Otherwise, draw the rectangle filled in beige. e->Graphics->FillRectangle( Brushes::Beige, e->Bounds ); } // Draw a rectangle in blue around each item. e->Graphics->DrawRectangle( Pens::Blue, e->Bounds ); // Draw the text in the item. e->Graphics->DrawString( ListBox1->Items[ e->Index ]->ToString(), this->Font, Brushes::Black, (float)e->Bounds.X, (float)e->Bounds.Y ); // Draw the focus rectangle around the selected item. e->DrawFocusRectangle(); } // Handle the MeasureItem event for an owner-drawn ListBox. void ListBox1_MeasureItem( Object^ sender, MeasureItemEventArgs^ e ) { // Cast the sender object back to ListBox type. ListBox^ theListBox = dynamic_cast<ListBox^>(sender); // Get the string contained in each item. String^ itemString = dynamic_cast<String^>(theListBox->Items[ e->Index ]); // Split the string at the " . " character. array<Char>^temp1 = {'.'}; array<String^>^resultStrings = itemString->Split( temp1 ); // If the string contains more than one period, increase the // height by ten pixels; otherwise, increase the height by // five pixels. if ( resultStrings->Length > 2 ) { e->ItemHeight += 10; } else { e->ItemHeight += 5; } }
private System.Windows.Forms.ListBox listBox1; private void InitializeOwnerDrawnListBox() { this.listBox1 = new System.Windows.Forms.ListBox(); // Set the location and size. listBox1.set_Location(new Point(20, 20)); listBox1.set_Size(new Size(240, 240)); // Populate the ListBox.ObjectCollection property // with several strings, using the AddRange method. this.listBox1.get_Items().AddRange(new Object[] { "System.Windows.Forms", "System.Drawing", "System.Xml", "System.Net", "System.Runtime.Remoting", "System.Web" }); // Turn off the scrollbar. listBox1.set_ScrollAlwaysVisible(false); // Set the border style to a single, flat border. listBox1.set_BorderStyle(BorderStyle.FixedSingle); // Set the DrawMode property to the OwnerDrawVariable value. // This means the MeasureItem and DrawItem events must be // handled. listBox1.set_DrawMode(DrawMode.OwnerDrawVariable); listBox1.add_MeasureItem(new MeasureItemEventHandler( listBox1_MeasureItem)); listBox1.add_DrawItem(new DrawItemEventHandler(listBox1_DrawItem)); this.get_Controls().Add(this.listBox1); } //InitializeOwnerDrawnListBox // Handle the DrawItem event for an owner-drawn ListBox. private void listBox1_DrawItem(Object sender, DrawItemEventArgs e) { // If the item is the selected item, then draw the rectangle // filled in blue. The item is selected when a bitwise And // of the State property and the DrawItemState.Selected // property is true. if ((e.get_State() & DrawItemState.Selected) == DrawItemState.Selected) { e.get_Graphics().FillRectangle(Brushes.get_CornflowerBlue(), e.get_Bounds()); } else { // Otherwise, draw the rectangle filled in beige. e.get_Graphics().FillRectangle(Brushes.get_Beige(), e.get_Bounds()); } // Draw a rectangle in blue around each item. e.get_Graphics().DrawRectangle(Pens.get_Blue(), e.get_Bounds()); // Draw the text in the item. e.get_Graphics().DrawString(listBox1.get_Items().get_Item( e.get_Index()).ToString(), this.get_Font(), Brushes.get_Black(), e.get_Bounds().get_X(), e.get_Bounds().get_Y()); // Draw the focus rectangle around the selected item. e.DrawFocusRectangle(); } //listBox1_DrawItem // Handle the MeasureItem event for an owner-drawn ListBox. private void listBox1_MeasureItem(Object sender, MeasureItemEventArgs e) { // Cast the sender object back to ListBox type. ListBox theListBox = (ListBox) sender; // Get the string contained in each item. String itemString = (String)(theListBox.get_Items(). get_Item(e.get_Index())); // Split the string at the " . " character. String resultStrings[] = itemString.Split(new char[] { '.' }); // If the string contains more than one period, increase the // height by ten pixels; otherwise, increase the height by // five pixels. if (resultStrings.length > 2) { e.set_ItemHeight(e.get_ItemHeight() + 10); } else { e.set_ItemHeight(e.get_ItemHeight() + 5); } } //listBox1_MeasureItem

System.Windows.Forms.ListBox.ObjectCollection
System.Windows.Forms.CheckedListBox.ObjectCollection


Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


ListBox.ObjectCollection メンバ
System.Windows.Forms 名前空間
ListBox.SelectedObjectCollection
ListBox.SelectedIndexCollection
ListBox.ObjectCollection コンストラクタ (ListBox, ListBox.ObjectCollection)
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)

Dim owner As ListBox Dim value As ObjectCollection Dim instance As New ObjectCollection(owner, value)

このクラスのインスタンスを作成するには、そのインスタンスを ListBox コントロールに関連付ける必要があります。この形式のコンストラクタでは、ListBox.ObjectCollection クラスの既存のインスタンスに指定されている項目を使用して、コレクションの作成時にコレクションに項目を追加できます。このコンストラクタを使用すると、別の ListBox コントロールで指定されている項目をこのコレクションで使用できます。

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


ListBox.ObjectCollection コンストラクタ (ListBox)
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)



Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


ListBox.ObjectCollection コンストラクタ (ListBox, Object[])
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)



Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


ListBox.ObjectCollection コンストラクタ

名前 | 説明 |
---|---|
ListBox.ObjectCollection (ListBox) | ListBox.ObjectCollection の新しいインスタンスを初期化します。 |
ListBox.ObjectCollection (ListBox, ListBox.ObjectCollection) | 別の ListBox.ObjectCollection に基づいて、ListBox.ObjectCollection の新しいインスタンスを初期化します。 |
ListBox.ObjectCollection (ListBox, Object[]) | オブジェクトの配列を格納している ListBox.ObjectCollection の新しいインスタンスを初期化します。 |

ListBox.ObjectCollection プロパティ



関連項目
ListBox.ObjectCollection クラスSystem.Windows.Forms 名前空間
ListBox.SelectedObjectCollection
ListBox.SelectedIndexCollection
ListBox.ObjectCollection メソッド

名前 | 説明 | |
---|---|---|
![]() | Add | ListBox の項目のリストに項目を追加します。 |
![]() | AddRange | オーバーロードされます。 ListBox の項目のリストに項目のグループを追加します。 |
![]() | Clear | コレクションからすべての項目を削除します。 |
![]() | Contains | 指定した項目がコレクション内にあるかどうかを確認します。 |
![]() | CopyTo | 既存のオブジェクト配列内の指定した位置にコレクション全体をコピーします。 |
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。) |
![]() | GetEnumerator | 項目コレクションを反復処理するために使用する列挙子を返します。 |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 ( Object から継承されます。) |
![]() | IndexOf | 指定した項目のコレクション内のインデックスを返します。 |
![]() | Insert | リスト ボックス内の指定したインデックス位置に項目を挿入します。 |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) |
![]() | Remove | 指定されたオブジェクトをコレクションから削除します。 |
![]() | RemoveAt | コレクション内の指定されたインデックスにある項目を削除します。 |
![]() | ToString | 現在の Object を表す String を返します。 ( Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | System.Collections.ICollection.CopyTo | 特定の配列インデックスを開始位置として、配列にコレクションの要素をコピーします。 |
![]() | System.Collections.IList.Add | オブジェクトを ListBox クラスに追加します。 |

関連項目
ListBox.ObjectCollection クラスSystem.Windows.Forms 名前空間
ListBox.SelectedObjectCollection
ListBox.SelectedIndexCollection
ListBox.ObjectCollection メンバ
ListBox.ObjectCollection データ型で公開されるメンバを以下の表に示します。



名前 | 説明 | |
---|---|---|
![]() | Add | ListBox の項目のリストに項目を追加します。 |
![]() | AddRange | オーバーロードされます。 ListBox の項目のリストに項目のグループを追加します。 |
![]() | Clear | コレクションからすべての項目を削除します。 |
![]() | Contains | 指定した項目がコレクション内にあるかどうかを確認します。 |
![]() | CopyTo | 既存のオブジェクト配列内の指定した位置にコレクション全体をコピーします。 |
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。) |
![]() | GetEnumerator | 項目コレクションを反復処理するために使用する列挙子を返します。 |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) |
![]() | IndexOf | 指定した項目のコレクション内のインデックスを返します。 |
![]() | Insert | リスト ボックス内の指定したインデックス位置に項目を挿入します。 |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) |
![]() | Remove | 指定されたオブジェクトをコレクションから削除します。 |
![]() | RemoveAt | コレクション内の指定されたインデックスにある項目を削除します。 |
![]() | ToString | 現在の Object を表す String を返します。 (Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | System.Collections.ICollection.CopyTo | 特定の配列インデックスを開始位置として、配列にコレクションの要素をコピーします。 |
![]() | System.Collections.IList.Add | オブジェクトを ListBox クラスに追加します。 |
![]() | System.Collections.IList.IsFixedSize | このメンバの説明については、IList.IsFixedSize のトピックを参照してください。 |

関連項目
ListBox.ObjectCollection クラスSystem.Windows.Forms 名前空間
ListBox.SelectedObjectCollection
ListBox.SelectedIndexCollection
Weblioに収録されているすべての辞書からListBox.ObjectCollectionを検索する場合は、下記のリンクをクリックしてください。

- ListBox.ObjectCollectionのページへのリンク