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

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > 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


このページでは「.NET Framework クラス ライブラリ リファレンス」からListBox.ObjectCollection クラスを検索した結果を表示しています。
Weblioに収録されているすべての辞書からListBox.ObjectCollection クラスを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からListBox.ObjectCollection クラス を検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「ListBox.ObjectCollection クラス」の関連用語

ListBox.ObjectCollection クラスのお隣キーワード
検索ランキング

   

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



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

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

©2025 GRAS Group, Inc.RSS