ListBox.ObjectCollection.Add(Object) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Ajoute un élément à la liste d'éléments pour ListBox.
public:
int Add(System::Object ^ item);
public int Add (object item);
member this.Add : obj -> int
Public Function Add (item As Object) As Integer
Paramètres
- item
- Object
Objet représentant l'élément à ajouter à la collection.
Retours
Index de base zéro de l'élément dans la collection ; sinon, -1, si BeginUpdate() a été appelé.
Exceptions
L'espace disponible est insuffisant pour ajouter le nouvel élément à la liste.
item
a la valeur null
.
Exemples
L’exemple de code suivant montre comment créer un ListBox contrôle qui affiche plusieurs éléments dans des colonnes et peut avoir plusieurs éléments sélectionnés dans la liste du contrôle. Le code de l’exemple ajoute 50 éléments au à l’aide ListBox de la Add méthode de la ListBox.ObjectCollection classe , puis sélectionne trois éléments dans la liste à l’aide de la SetSelected méthode . Le code affiche ensuite les valeurs de la ListBox.SelectedObjectCollection collection (via la SelectedItems propriété) et du ListBox.SelectedIndexCollection (via la SelectedIndices propriété ). Cet exemple nécessite que le code se trouve dans et soit appelé à partir d’un Form.
void button1_Click( Object^ /*sender*/, System::EventArgs^ /*e*/ )
{
// Create an instance of the ListBox.
ListBox^ listBox1 = gcnew ListBox;
// Set the size and location of the ListBox.
listBox1->Size = System::Drawing::Size( 200, 100 );
listBox1->Location = System::Drawing::Point( 10, 10 );
// Add the ListBox to the form.
this->Controls->Add( listBox1 );
// Set the ListBox to display items in multiple columns.
listBox1->MultiColumn = true;
// Set the selection mode to multiple and extended.
listBox1->SelectionMode = SelectionMode::MultiExtended;
// Shutdown the painting of the ListBox as items are added.
listBox1->BeginUpdate();
// Loop through and add 50 items to the ListBox.
for ( int x = 1; x <= 50; x++ )
{
listBox1->Items->Add( String::Format( "Item {0}", x ) );
}
listBox1->EndUpdate();
// Select three items from the ListBox.
listBox1->SetSelected( 1, true );
listBox1->SetSelected( 3, true );
listBox1->SetSelected( 5, true );
#if defined(DEBUG)
// Display the second selected item in the ListBox to the console.
System::Diagnostics::Debug::WriteLine( listBox1->SelectedItems[ 1 ] );
// Display the index of the first selected item in the ListBox.
System::Diagnostics::Debug::WriteLine( listBox1->SelectedIndices[ 0 ] );
#endif
}
private void button1_Click(object sender, System.EventArgs e)
{
// Create an instance of the ListBox.
ListBox listBox1 = new ListBox();
// Set the size and location of the ListBox.
listBox1.Size = new System.Drawing.Size(200, 100);
listBox1.Location = new System.Drawing.Point(10,10);
// Add the ListBox to the form.
this.Controls.Add(listBox1);
// Set the ListBox to display items in multiple columns.
listBox1.MultiColumn = true;
// Set the selection mode to multiple and extended.
listBox1.SelectionMode = SelectionMode.MultiExtended;
// Shutdown the painting of the ListBox as items are added.
listBox1.BeginUpdate();
// Loop through and add 50 items to the ListBox.
for (int x = 1; x <= 50; x++)
{
listBox1.Items.Add("Item " + x.ToString());
}
// Allow the ListBox to repaint and display the new items.
listBox1.EndUpdate();
// Select three items from the ListBox.
listBox1.SetSelected(1, true);
listBox1.SetSelected(3, true);
listBox1.SetSelected(5, true);
// Display the second selected item in the ListBox to the console.
System.Diagnostics.Debug.WriteLine(listBox1.SelectedItems[1].ToString());
// Display the index of the first selected item in the ListBox.
System.Diagnostics.Debug.WriteLine(listBox1.SelectedIndices[0].ToString());
}
Private Sub button1_Click(sender As Object, e As System.EventArgs)
' Create an instance of the ListBox.
Dim listBox1 As New ListBox()
' Set the size and location of the ListBox.
listBox1.Size = New System.Drawing.Size(200, 100)
listBox1.Location = New System.Drawing.Point(10, 10)
' Add the ListBox to the form.
Me.Controls.Add(listBox1)
' Set the ListBox to display items in multiple columns.
listBox1.MultiColumn = True
' Set the selection mode to multiple and extended.
listBox1.SelectionMode = SelectionMode.MultiExtended
' Shutdown the painting of the ListBox as items are added.
listBox1.BeginUpdate()
' Loop through and add 50 items to the ListBox.
Dim x As Integer
For x = 1 To 50
listBox1.Items.Add("Item " & x.ToString())
Next x
' Allow the ListBox to repaint and display the new items.
listBox1.EndUpdate()
' Select three items from the ListBox.
listBox1.SetSelected(1, True)
listBox1.SetSelected(3, True)
listBox1.SetSelected(5, True)
' Display the second selected item in the ListBox to the console.
System.Diagnostics.Debug.WriteLine(listBox1.SelectedItems(1).ToString())
' Display the index of the first selected item in the ListBox.
System.Diagnostics.Debug.WriteLine(listBox1.SelectedIndices(0).ToString())
End Sub
Remarques
Si la Sorted propriété du ListBox est définie sur true
, l’élément est inséré dans la liste par ordre alphabétique. Sinon, l’élément est inséré à la fin de la liste. Pour insérer un élément dans la zone de liste à une position spécifique, utilisez la Insert méthode . Pour ajouter un ensemble d’éléments à la zone de liste en une seule opération, utilisez la AddRange méthode . Si vous souhaitez utiliser la Add méthode pour ajouter un grand nombre d’éléments à la liste, utilisez les BeginUpdate méthodes et EndUpdate pour empêcher le ListBox de repeindre chaque fois qu’un élément est ajouté à la liste jusqu’à ce que tous les éléments soient ajoutés à la liste. Lors de l’ajout d’éléments à un ListBox, il est plus efficace de trier d’abord les éléments, puis d’ajouter de nouveaux éléments.
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é pour faire référence lors de l’obtention du texte de l’élément. Si la DisplayMember propriété n’a pas de membre spécifié, le ListBox appelle alors la ToString méthode de l’objet pour obtenir le texte à afficher dans la liste.