Sdílet prostřednictvím


ListBox.ObjectCollection.AddRange Metoda

Definice

Přidá skupinu položek do seznamu položek pro položku ListBox.

Přetížení

Name Description
AddRange(Object[])

Přidá pole položek do seznamu položek pro položku ListBox.

AddRange(ListBox+ObjectCollection)

Přidá položky existujícího ListBox.ObjectCollection do seznamu položek v objektu ListBox.

AddRange(Object[])

Zdroj:
ListBox.ObjectCollection.cs
Zdroj:
ListBox.ObjectCollection.cs
Zdroj:
ListBox.ObjectCollection.cs
Zdroj:
ListBox.ObjectCollection.cs
Zdroj:
ListBox.ObjectCollection.cs

Přidá pole položek do seznamu položek pro položku 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())

Parametry

items
Object[]

Pole objektů, které chcete přidat do seznamu.

Výjimky

.NET 5 a novější: items je null.

Příklady

Následující příklad kódu ukazuje vlastník-kreslit ListBox nastavením DrawMode vlastnosti na OwnerDrawVariable hodnotu a zpracování DrawItem a MeasureItem události. Ukazuje také nastavení BorderStyle a ScrollAlwaysVisible vlastnosti a použití AddRange metody.

Pokud chcete tento příklad spustit, vložte ho do prázdného formuláře, který importuje System.Drawing obor názvů a System.Windows.Forms obor názvů. Volání InitializeOwnerDrawnListBox z konstruktoru nebo Load metody formuláře

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

Poznámky

Pokud je vlastnost nastavena SortedListBox na true, položky se vloží do seznamu abecedně. V opačném případě se položky vloží v pořadí, v jakém se vyskytují v rámci pole. Tato metoda je obvykle předána pole String objektů, ale pole libovolného typu objektu lze předat této metodě. Při přidání objektu do kolekce nejprve zkontroluje, ListBox zda DisplayMember vlastnost ListControl třídy má název člena z objektu určeného pro odkaz při získávání textu položky. Pokud vlastnost DisplayMember nemá zadaný člen, ListBox pak volá ToString metodu objektu získat text, který se má zobrazit v seznamu. Při použití této metody přidat položky do ListBox, nemusíte volat BeginUpdate a EndUpdate metody pro optimalizaci výkonu. Při přidávání položek do souboru ListBoxje efektivnější položky nejprve seřadit a pak přidat nové položky. Tuto metodu můžete použít k přidání skupiny položek do seznamu nebo k opakovanému použití položek uložených v jiné ListBox.

Viz také

Platí pro

AddRange(ListBox+ObjectCollection)

Zdroj:
ListBox.ObjectCollection.cs
Zdroj:
ListBox.ObjectCollection.cs
Zdroj:
ListBox.ObjectCollection.cs
Zdroj:
ListBox.ObjectCollection.cs
Zdroj:
ListBox.ObjectCollection.cs

Přidá položky existujícího ListBox.ObjectCollection do seznamu položek v objektu 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)

Parametry

value
ListBox.ObjectCollection

A ListBox.ObjectCollection , která se má načíst do této kolekce.

Výjimky

.NET 5 a novější: value je null.

Poznámky

Pokud je vlastnost nastavena SortedListBox na true, položky se vloží do seznamu abecedně. V opačném případě se položky vloží v pořadí, v jakém se vyskytují v rámci pole. Tato metoda je obvykle předána pole String objektů, ale pole libovolného typu objektu lze předat této metodě. Při přidání objektu do kolekce nejprve zkontroluje, ListBox zda DisplayMember vlastnost ListControl třídy má název člena z objektu určeného pro odkaz při získávání textu položky. Pokud vlastnost DisplayMember nemá zadaný člen, ListBox pak volá ToString metodu objektu získat text, který se má zobrazit v seznamu.

Při použití této metody přidat položky do ListBox, nemusíte volat BeginUpdate a EndUpdate metody pro optimalizaci výkonu. Při přidávání položek do souboru ListBoxje efektivnější položky nejprve seřadit a pak přidat nové položky. Tuto metodu můžete použít k opakovanému použití položek uložených v jiném ListBox.

Viz také

Platí pro