Partager via


ListBox.ObjectCollection.AddRange Méthode

Définition

Ajoute un groupe d’éléments à la liste des éléments d’un ListBox.

Surcharges

Nom Description
AddRange(Object[])

Ajoute un tableau d’éléments à la liste des éléments d’un ListBox.

AddRange(ListBox+ObjectCollection)

Ajoute les éléments d’un élément existant ListBox.ObjectCollection à la liste des éléments d’un ListBox.

AddRange(Object[])

Source:
ListBox.ObjectCollection.cs
Source:
ListBox.ObjectCollection.cs
Source:
ListBox.ObjectCollection.cs
Source:
ListBox.ObjectCollection.cs
Source:
ListBox.ObjectCollection.cs

Ajoute un tableau d’éléments à la liste des éléments d’un 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())

Paramètres

items
Object[]

Tableau d’objets à ajouter à la liste.

Exceptions

.NET 5 et versions ultérieures : items est null.

Exemples

L’exemple de code suivant illustre un dessin propriétaire en ListBox définissant la DrawMode propriété sur la valeur et en OwnerDrawVariable gérant les événements et MeasureItem les DrawItem événements. Il illustre également la définition des BorderStyle propriétés et ScrollAlwaysVisible l’utilisation de la AddRange méthode.

Pour exécuter cet exemple, collez-le dans un formulaire vide qui importe l’espace System.Drawing de noms et l’espace System.Windows.Forms de noms. Appel à InitializeOwnerDrawnListBox partir du constructeur ou Load de la méthode du formulaire.

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

Remarques

Si la Sorted propriété du fichier ListBox est définie truesur , les éléments sont insérés dans la liste par ordre alphabétique. Sinon, les éléments sont insérés dans l’ordre dans lequel ils se produisent dans le tableau. Cette méthode est généralement passée à un tableau d’objets String , mais un tableau de n’importe quel type d’objet peut être passé à cette méthode. Lorsqu’un objet est ajouté à la collection, le ListBox premier vérifie si la DisplayMember propriété de la ListControl classe a le nom d’un membre de l’objet spécifié à référencer lors de l’obtention du texte de l’élément. Si la DisplayMember propriété n’a pas de membre spécifié, elle ListBox appelle la ToString méthode de l’objet pour obtenir le texte à afficher dans la liste. Lorsque vous utilisez cette méthode pour ajouter des éléments au ListBox, vous n’avez pas besoin d’appeler et EndUpdate de méthodes pour optimiser les BeginUpdate performances. Lors de l’ajout d’éléments à un ListBox, il est plus efficace de trier les éléments en premier, puis d’ajouter de nouveaux éléments. Vous pouvez utiliser cette méthode pour ajouter un groupe d’éléments à la liste ou réutiliser les éléments stockés dans un autre ListBox.

Voir aussi

S’applique à

AddRange(ListBox+ObjectCollection)

Source:
ListBox.ObjectCollection.cs
Source:
ListBox.ObjectCollection.cs
Source:
ListBox.ObjectCollection.cs
Source:
ListBox.ObjectCollection.cs
Source:
ListBox.ObjectCollection.cs

Ajoute les éléments d’un élément existant ListBox.ObjectCollection à la liste des éléments d’un 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)

Paramètres

value
ListBox.ObjectCollection

À ListBox.ObjectCollection charger dans cette collection.

Exceptions

.NET 5 et versions ultérieures : value est null.

Remarques

Si la Sorted propriété du fichier ListBox est définie truesur , les éléments sont insérés dans la liste par ordre alphabétique. Sinon, les éléments sont insérés dans l’ordre dans lequel ils se produisent dans le tableau. Cette méthode est généralement passée à un tableau d’objets String , mais un tableau de n’importe quel type d’objet peut être passé à cette méthode. Lorsqu’un objet est ajouté à la collection, le ListBox premier vérifie si la DisplayMember propriété de la ListControl classe a le nom d’un membre de l’objet spécifié à référencer lors de l’obtention du texte de l’élément. Si la DisplayMember propriété n’a pas de membre spécifié, elle ListBox appelle la ToString méthode de l’objet pour obtenir le texte à afficher dans la liste.

Lorsque vous utilisez cette méthode pour ajouter des éléments au ListBox, vous n’avez pas besoin d’appeler et EndUpdate de méthodes pour optimiser les BeginUpdate performances. Lors de l’ajout d’éléments à un ListBox, il est plus efficace de trier les éléments en premier, puis d’ajouter de nouveaux éléments. Vous pouvez utiliser cette méthode pour réutiliser les éléments stockés dans un autre ListBox.

Voir aussi

S’applique à