ListBox.ObjectCollection.AddRange ListBox.ObjectCollection.AddRange ListBox.ObjectCollection.AddRange ListBox.ObjectCollection.AddRange Method

定義

ListBox の項目のリストに項目のグループを追加します。Adds a group of items to the list of items for a ListBox.

オーバーロード

AddRange(Object[]) AddRange(Object[]) AddRange(Object[]) AddRange(Object[])

ListBox の項目のリストに、項目の配列を追加します。Adds an array of items to the list of items for a ListBox.

AddRange(ListBox+ObjectCollection) AddRange(ListBox+ObjectCollection) AddRange(ListBox+ObjectCollection) AddRange(ListBox+ObjectCollection)

既存の ListBox.ObjectCollection の項目を ListBox の項目のリストに追加します。Adds the items of an existing ListBox.ObjectCollection to the list of items in a ListBox.

AddRange(Object[]) AddRange(Object[]) AddRange(Object[]) AddRange(Object[])

ListBox の項目のリストに、項目の配列を追加します。Adds an array of items to the list of items for a ListBox.

public:
 void AddRange(cli::array <System::Object ^> ^ items);
public void AddRange (object[] items);
member this.AddRange : obj[] -> unit
Public Sub AddRange (items As Object())

パラメーター

items
Object[]

リストに追加するオブジェクトの配列。An array of objects to add to the list.

次のコード例ListBoxは、 DrawModeプロパティをOwnerDrawVariable値に設定し、イベントDrawItemMeasureItemイベントを処理することによって、オーナー描画を示しています。The following code example demonstrates an owner-drawn ListBox by setting the DrawMode property to the OwnerDrawVariable value and handling the DrawItem and MeasureItem events. また、 ScrollAlwaysVisibleプロパティとプロパティBorderStyleを設定し、 AddRangeメソッドを使用する方法も示します。It also demonstrates setting the BorderStyle and ScrollAlwaysVisible properties and using the AddRange method.

この例を実行するには、 System.Drawing名前空間System.Windows.Formsと名前空間をインポートする空のフォームに貼り付けます。To run this example, paste it into an empty form that imports the System.Drawing namespace and the System.Windows.Forms namespace. フォームInitializeOwnerDrawnListBoxのコンストラクターまたはLoadメソッドからを呼び出します。Call InitializeOwnerDrawnListBox from the form's constructor or Load method.

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;
      }
   }
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;
    }

}

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

注釈

のプロパティがにtrue設定されている場合、項目はアルファベット順にリストに挿入されます。 ListBox SortedIf the Sorted property of the ListBox is set to true, the items are inserted into the list alphabetically. それ以外の場合、項目は配列内に出現する順序で挿入されます。Otherwise, the items are inserted in the order that they occur within the array. 通常、このメソッドにはオブジェクトのString配列が渡されますが、任意の型のオブジェクトの配列をこのメソッドに渡すことができます。This method is typically passed an array of String objects, but an array of any type of object can be passed to this method. オブジェクトがコレクションに追加されると、最初ListBoxには、 ListControlクラスのDisplayMemberプロパティに、項目テキストを取得するときに参照するように指定されたオブジェクトのメンバーの名前があるかどうかを確認します。When an object is added to the collection, the ListBox first checks to see if the DisplayMember property of the ListControl class has the name of a member from the object specified to reference when obtaining the item text. プロパティにDisplayMemberメンバーが指定されていない場合ListBox 、はオブジェクトToStringのメソッドを呼び出して、リストに表示するテキストを取得します。If the DisplayMember property does not have a member specified, the ListBox then calls the ToString method of the object to obtain the text to display in the list. このメソッドを使用してに項目をListBox追加する場合、パフォーマンスを最適化するBeginUpdateためEndUpdateにメソッドとメソッドを呼び出す必要はありません。When using this method to add items to the ListBox, you do not need to call the BeginUpdate and EndUpdate methods to optimize performance. ListBox項目を追加する場合は、まず項目を並べ替えてから、新しい項目を追加する方が効率的です。When adding items to a ListBox, it is more efficient to sort the items first and then add new items. このメソッドを使用すると、項目のグループを一覧に追加したり、別ListBoxのに格納されている項目を再利用したりできます。You can use this method to add a group of items to the list or to reuse the items stored in a different ListBox.

こちらもご覧ください

AddRange(ListBox+ObjectCollection) AddRange(ListBox+ObjectCollection) AddRange(ListBox+ObjectCollection) AddRange(ListBox+ObjectCollection)

既存の ListBox.ObjectCollection の項目を ListBox の項目のリストに追加します。Adds the items of an existing ListBox.ObjectCollection to the list of items in a ListBox.

public:
 void AddRange(System::Windows::Forms::ListBox::ObjectCollection ^ value);
public void AddRange (System.Windows.Forms.ListBox.ObjectCollection value);
member this.AddRange : System.Windows.Forms.ListBox.ObjectCollection -> unit
Public Sub AddRange (value As ListBox.ObjectCollection)

パラメーター

注釈

のプロパティがにtrue設定されている場合、項目はアルファベット順にリストに挿入されます。 ListBox SortedIf the Sorted property of the ListBox is set to true, the items are inserted into the list alphabetically. それ以外の場合、項目は配列内に出現する順序で挿入されます。Otherwise, the items are inserted in the order that they occur within the array. 通常、このメソッドにはオブジェクトのString配列が渡されますが、任意の型のオブジェクトの配列をこのメソッドに渡すことができます。This method is typically passed an array of String objects, but an array of any type of object can be passed to this method. オブジェクトがコレクションに追加されると、最初ListBoxには、 ListControlクラスのDisplayMemberプロパティに、項目テキストを取得するときに参照するように指定されたオブジェクトのメンバーの名前があるかどうかを確認します。When an object is added to the collection, the ListBox first checks to see if the DisplayMember property of the ListControl class has the name of a member from the object specified to reference when obtaining the item text. プロパティにDisplayMemberメンバーが指定されていない場合ListBox 、はオブジェクトToStringのメソッドを呼び出して、リストに表示するテキストを取得します。If the DisplayMember property does not have a member specified, the ListBox then calls the ToString method of the object to obtain the text to display in the list.

このメソッドを使用してに項目をListBox追加する場合、パフォーマンスを最適化するBeginUpdateためEndUpdateにメソッドとメソッドを呼び出す必要はありません。When using this method to add items to the ListBox, you do not need to call the BeginUpdate and EndUpdate methods to optimize performance. ListBox項目を追加する場合は、まず項目を並べ替えてから、新しい項目を追加する方が効率的です。When adding items to a ListBox, it is more efficient to sort the items first and then add new items. このメソッドを使用すると、別ListBoxのに格納されている項目を再利用できます。You can use this method to reuse the items stored in a different ListBox.

こちらもご覧ください

適用対象