ListBox.ObjectCollection.AddRange Methode

Definitie

Hiermee voegt u een groep items toe aan de lijst met items voor een ListBox.

Overloads

Name Description
AddRange(Object[])

Hiermee voegt u een matrix met items toe aan de lijst met items voor een ListBox.

AddRange(ListBox+ObjectCollection)

Hiermee worden de items van een bestaande ListBox.ObjectCollection toegevoegd aan de lijst met items in een ListBox.

AddRange(Object[])

Bron:
ListBox.ObjectCollection.cs
Bron:
ListBox.ObjectCollection.cs
Bron:
ListBox.ObjectCollection.cs
Bron:
ListBox.ObjectCollection.cs
Bron:
ListBox.ObjectCollection.cs

Hiermee voegt u een matrix met items toe aan de lijst met items voor een ListBox.

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())

Parameters

items
Object[]

Een matrix met objecten die aan de lijst moeten worden toegevoegd.

Uitzonderingen

.NET 5 en hoger: items is null.

Voorbeelden

In het volgende codevoorbeeld ziet u een eigenaar die is getekend ListBox door de DrawMode eigenschap in te stellen op de OwnerDrawVariable waarde en de verwerking van de DrawItem en MeasureItem gebeurtenissen. Ook ziet u hoe u de BorderStyle en eigenschappen instelt ScrollAlwaysVisible en de AddRange methode gebruikt.

Als u dit voorbeeld wilt uitvoeren, plakt u deze in een leeg formulier waarmee de naamruimte System.Drawing en de naamruimte System.Windows.Forms worden geïmporteerd. Aanroepen InitializeOwnerDrawnListBox vanuit de constructor of Load methode van het formulier.

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

Opmerkingen

Als de eigenschap van de SortedListBox eigenschap is ingesteld op true, worden de items alfabetisch in de lijst ingevoegd. Anders worden de items ingevoegd in de volgorde waarin ze voorkomen in de matrix. Deze methode wordt doorgaans doorgegeven aan een matrix met String objecten, maar een matrix van elk type object kan worden doorgegeven aan deze methode. Wanneer een object wordt toegevoegd aan de verzameling, controleert de ListBox eerste of de DisplayMember eigenschap van de ListControl klasse de naam heeft van een lid van het object dat is opgegeven om te verwijzen bij het verkrijgen van de itemtekst. Als de DisplayMember eigenschap geen lid heeft opgegeven, roept de ListBox eigenschap de ToString methode van het object aan om de tekst te verkrijgen die in de lijst moet worden weergegeven. Wanneer u deze methode gebruikt om items toe te voegen aan de ListBoxmethode, hoeft u de en BeginUpdate methoden niet aan te roepen om de EndUpdate prestaties te optimaliseren. Wanneer u items toevoegt aan een ListBox, is het efficiënter om de items eerst te sorteren en vervolgens nieuwe items toe te voegen. U kunt deze methode gebruiken om een groep items toe te voegen aan de lijst of om de items die zijn opgeslagen in een andere ListBoxte hergebruiken.

Zie ook

Van toepassing op

AddRange(ListBox+ObjectCollection)

Bron:
ListBox.ObjectCollection.cs
Bron:
ListBox.ObjectCollection.cs
Bron:
ListBox.ObjectCollection.cs
Bron:
ListBox.ObjectCollection.cs
Bron:
ListBox.ObjectCollection.cs

Hiermee worden de items van een bestaande ListBox.ObjectCollection toegevoegd aan de lijst met items in een 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)

Parameters

value
ListBox.ObjectCollection

Een ListBox.ObjectCollection die in deze verzameling moet worden geladen.

Uitzonderingen

.NET 5 en hoger: value is null.

Opmerkingen

Als de eigenschap van de SortedListBox eigenschap is ingesteld op true, worden de items alfabetisch in de lijst ingevoegd. Anders worden de items ingevoegd in de volgorde waarin ze voorkomen in de matrix. Deze methode wordt doorgaans doorgegeven aan een matrix met String objecten, maar een matrix van elk type object kan worden doorgegeven aan deze methode. Wanneer een object wordt toegevoegd aan de verzameling, controleert de ListBox eerste of de DisplayMember eigenschap van de ListControl klasse de naam heeft van een lid van het object dat is opgegeven om te verwijzen bij het verkrijgen van de itemtekst. Als de DisplayMember eigenschap geen lid heeft opgegeven, roept de ListBox eigenschap de ToString methode van het object aan om de tekst te verkrijgen die in de lijst moet worden weergegeven.

Wanneer u deze methode gebruikt om items toe te voegen aan de ListBoxmethode, hoeft u de en BeginUpdate methoden niet aan te roepen om de EndUpdate prestaties te optimaliseren. Wanneer u items toevoegt aan een ListBox, is het efficiënter om de items eerst te sorteren en vervolgens nieuwe items toe te voegen. U kunt deze methode gebruiken om de items die in een andere ListBoxzijn opgeslagen, opnieuw te gebruiken.

Zie ook

Van toepassing op