ListBox.ObjectCollectionとは? わかりやすく解説

ListBox.ObjectCollection クラス

ListBox 内の項目のコレクション表します

名前空間: System.Windows.Forms
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)
構文構文

Public Class ObjectCollection
    Implements IList, ICollection, IEnumerable
Dim instance As ObjectCollection
public class ObjectCollection : IList, ICollection,
 IEnumerable
public ref class ObjectCollection : IList,
 ICollection, IEnumerable
public class ObjectCollection implements IList,
 ICollection, 
    IEnumerable
public class ObjectCollection implements IList,
 ICollection, 
    IEnumerable
解説解説

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.Object
  System.Windows.Forms.ListBox.ObjectCollection
     System.Windows.Forms.CheckedListBox.ObjectCollection
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
ListBox.ObjectCollection メンバ
System.Windows.Forms 名前空間
ListBox.SelectedObjectCollection
ListBox.SelectedIndexCollection

ListBox.ObjectCollection コンストラクタ (ListBox, ListBox.ObjectCollection)

別の ListBox.ObjectCollection基づいてListBox.ObjectCollection新しインスタンス初期化します。

名前空間: System.Windows.Forms
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)
構文構文

Public Sub New ( _
    owner As ListBox, _
    value As ObjectCollection _
)
Dim owner As ListBox
Dim value As ObjectCollection

Dim instance As New ObjectCollection(owner,
 value)
public ObjectCollection (
    ListBox owner,
    ObjectCollection value
)
public:
ObjectCollection (
    ListBox^ owner, 
    ObjectCollection^ value
)
public ObjectCollection (
    ListBox owner, 
    ObjectCollection value
)
public function ObjectCollection (
    owner : ListBox, 
    value : ObjectCollection
)

パラメータ

owner

コレクション所有している ListBox

value

コレクションコピーされる内容保持している ListBox.ObjectCollection。

解説解説
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
ListBox.ObjectCollection クラス
ListBox.ObjectCollection メンバ
System.Windows.Forms 名前空間

ListBox.ObjectCollection コンストラクタ (ListBox)


ListBox.ObjectCollection コンストラクタ (ListBox, Object[])

オブジェクト配列格納している ListBox.ObjectCollection の新しインスタンス初期化します。

名前空間: System.Windows.Forms
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)
構文構文

解説解説
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
ListBox.ObjectCollection クラス
ListBox.ObjectCollection メンバ
System.Windows.Forms 名前空間

ListBox.ObjectCollection コンストラクタ

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.ObjectCollection プロパティ


パブリック プロパティパブリック プロパティ

明示的インターフェイスの実装明示的インターフェイス実装
  名前 説明
インターフェイスの明示的な実装 System.Collections.IList.IsFixedSize このメンバ説明については、IList.IsFixedSize のトピック参照してください
参照参照

関連項目

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 から継承されます。)
プロテクト メソッドプロテクト メソッド
明示的インターフェイスの実装明示的インターフェイス実装
  名前 説明
インターフェイスの明示的な実装 System.Collections.ICollection.CopyTo 特定の配列インデックス開始位置として、配列コレクション要素コピーします
インターフェイスの明示的な実装 System.Collections.IList.Add オブジェクトListBox クラス追加します
参照参照

関連項目

ListBox.ObjectCollection クラス
System.Windows.Forms 名前空間
ListBox.SelectedObjectCollection
ListBox.SelectedIndexCollection

ListBox.ObjectCollection メンバ

ListBox 内の項目のコレクション表します

ListBox.ObjectCollection データ型公開されるメンバを以下の表に示します


パブリック コンストラクタパブリック コンストラクタ
  名前 説明
パブリック メソッド 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 から継承されます。)
プロテクト メソッドプロテクト メソッド
明示的インターフェイスの実装明示的インターフェイス実装
  名前 説明
インターフェイスの明示的な実装 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のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



ListBox.ObjectCollectionのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2024 Microsoft.All rights reserved.

©2024 GRAS Group, Inc.RSS