Freigeben über


ListBox.ObjectCollection.AddRange Methode

Definition

Fügt der Liste der Elemente für ein Element ListBoxeine Gruppe von Elementen hinzu.

Überlädt

Name Beschreibung
AddRange(Object[])

Fügt der Liste der Elemente für ein Element ein ListBoxArray von Elementen hinzu.

AddRange(ListBox+ObjectCollection)

Fügt die Elemente einer vorhandenen ListBox.ObjectCollection Liste von Elementen in einer ListBox.

AddRange(Object[])

Quelle:
ListBox.ObjectCollection.cs
Quelle:
ListBox.ObjectCollection.cs
Quelle:
ListBox.ObjectCollection.cs
Quelle:
ListBox.ObjectCollection.cs
Quelle:
ListBox.ObjectCollection.cs

Fügt der Liste der Elemente für ein Element ein ListBoxArray von Elementen hinzu.

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

Parameter

items
Object[]

Ein Array von Objekten, die der Liste hinzugefügt werden sollen.

Ausnahmen

.NET 5 und höher: items ist null.

Beispiele

Im folgenden Codebeispiel wird ein besitzergezeichnet ListBox , indem die DrawMode Eigenschaft auf den OwnerDrawVariable Wert festgelegt und die DrawItem Ereignisse behandelt werden MeasureItem . Außerdem wird das Festlegen und ScrollAlwaysVisible Die BorderStyle Eigenschaften und die Verwendung der AddRange Methode veranschaulicht.

Zum Ausführen dieses Beispiels fügen Sie es in ein leeres Formular ein, das den System.Drawing Namespace und den System.Windows.Forms Namespace importiert. Rufen Sie InitializeOwnerDrawnListBox den Konstruktor oder Load die Methode des Formulars auf.

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

Hinweise

Wenn die Sorted Eigenschaft des ListBox Objekts auf true festgelegt ist, werden die Elemente alphabetisch in die Liste eingefügt. Andernfalls werden die Elemente in der Reihenfolge eingefügt, in der sie innerhalb des Arrays auftreten. Diese Methode wird in der Regel an ein Array von String Objekten übergeben, aber ein Array eines beliebigen Objekttyps kann an diese Methode übergeben werden. Wenn der Auflistung ein Objekt hinzugefügt wird, überprüft die ListBox erste, ob die DisplayMember Eigenschaft der ListControl Klasse den Namen eines Elements aus dem Objekt aufweist, auf das verwiesen werden soll, wenn der Elementtext abgerufen wird. Wenn die DisplayMember Eigenschaft kein Element angegeben hat, ruft ToString die ListBox Methode des Objekts auf, um den Text abzurufen, der in der Liste angezeigt werden soll. Wenn Sie diese Methode zum Hinzufügen von Elementen zum ListBoxHinzufügen von Elementen verwenden, müssen Sie die Und-Methoden EndUpdate nicht aufrufen, um die BeginUpdate Leistung zu optimieren. Beim Hinzufügen von Elementen zu einem ListBoxElement ist es effizienter, die Elemente zuerst zu sortieren und dann neue Elemente hinzuzufügen. Mit dieser Methode können Sie der Liste eine Gruppe von Elementen hinzufügen oder die in einem anderen Element gespeicherten Elemente wiederverwenden ListBox.

Weitere Informationen

Gilt für:

AddRange(ListBox+ObjectCollection)

Quelle:
ListBox.ObjectCollection.cs
Quelle:
ListBox.ObjectCollection.cs
Quelle:
ListBox.ObjectCollection.cs
Quelle:
ListBox.ObjectCollection.cs
Quelle:
ListBox.ObjectCollection.cs

Fügt die Elemente einer vorhandenen ListBox.ObjectCollection Liste von Elementen in einer 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)

Parameter

value
ListBox.ObjectCollection

A ListBox.ObjectCollection , das in diese Sammlung geladen werden soll.

Ausnahmen

.NET 5 und höher: value ist null.

Hinweise

Wenn die Sorted Eigenschaft des ListBox Objekts auf true festgelegt ist, werden die Elemente alphabetisch in die Liste eingefügt. Andernfalls werden die Elemente in der Reihenfolge eingefügt, in der sie innerhalb des Arrays auftreten. Diese Methode wird in der Regel an ein Array von String Objekten übergeben, aber ein Array eines beliebigen Objekttyps kann an diese Methode übergeben werden. Wenn der Auflistung ein Objekt hinzugefügt wird, überprüft die ListBox erste, ob die DisplayMember Eigenschaft der ListControl Klasse den Namen eines Elements aus dem Objekt aufweist, auf das verwiesen werden soll, wenn der Elementtext abgerufen wird. Wenn die DisplayMember Eigenschaft kein Element angegeben hat, ruft ToString die ListBox Methode des Objekts auf, um den Text abzurufen, der in der Liste angezeigt werden soll.

Wenn Sie diese Methode zum Hinzufügen von Elementen zum ListBoxHinzufügen von Elementen verwenden, müssen Sie die Und-Methoden EndUpdate nicht aufrufen, um die BeginUpdate Leistung zu optimieren. Beim Hinzufügen von Elementen zu einem ListBoxElement ist es effizienter, die Elemente zuerst zu sortieren und dann neue Elemente hinzuzufügen. Sie können diese Methode verwenden, um die in einem anderen Element gespeicherten Elemente wiederzuverwenden ListBox.

Weitere Informationen

Gilt für: