ListBox.ObjectCollection.Add(Object) Metodo

Definizione

Aggiunge un elemento all'elenco di elementi per un controllo ListBox.Adds an item to the list of items for a 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

Parametri

item
Object

Oggetto che rappresenta l'elemento da aggiungere all'insieme.An object representing the item to add to the collection.

Restituisce

Int32

Indice in base zero dell'elemento nell'insieme o -1 se è stato chiamato il metodo BeginUpdate().The zero-based index of the item in the collection, or -1 if BeginUpdate() has been called.

Eccezioni

Lo spazio disponibile non è sufficiente per l'aggiunta di un nuovo elemento all'elenco.There is insufficient space available to add the new item to the list.

item è null.item is null.

Esempio

Nell'esempio di codice seguente viene illustrato come creare un ListBox controllo che Visualizza più elementi nelle colonne e che può avere più di un elemento selezionato nell'elenco del controllo.The following code example demonstrates how to create a ListBox control that displays multiple items in columns and can have more than one item selected in the control's list. Il codice per l'esempio aggiunge 50 elementi all'oggetto ListBox usando il Add metodo della ListBox.ObjectCollection classe e quindi seleziona tre elementi nell'elenco usando il SetSelected metodo.The code for the example adds 50 items to the ListBox using the Add method of the ListBox.ObjectCollection class and then selects three items from the list using the SetSelected method. Il codice Visualizza quindi i valori della ListBox.SelectedObjectCollection raccolta (tramite la SelectedItems proprietà) e l'oggetto ListBox.SelectedIndexCollection (tramite la SelectedIndices proprietà).The code then displays values from the ListBox.SelectedObjectCollection collection (through the SelectedItems property) and the ListBox.SelectedIndexCollection (through the SelectedIndices property). Questo esempio richiede che il codice si trovi in e venga chiamato da Form .This example requires that the code is located in and called from a 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

Commenti

Se la Sorted proprietà di ListBox è impostata su true , l'elemento viene inserito nell'elenco in ordine alfabetico.If the Sorted property of the ListBox is set to true, the item is inserted into the list alphabetically. In caso contrario, l'elemento viene inserito alla fine dell'elenco.Otherwise, the item is inserted at the end of the list. Per inserire un elemento nella casella di riepilogo in una posizione specifica, usare il Insert metodo.To insert an item into the list box at a specific position, use the Insert method. Per aggiungere un set di elementi alla casella di riepilogo in una singola operazione, utilizzare il AddRange metodo.To add a set of items to the list box in a single operation, use the AddRange method. Se si desidera utilizzare il Add metodo per aggiungere un numero elevato di elementi all'elenco, utilizzare i BeginUpdate EndUpdate metodi e per impedire che il ridisegno venga ridisegnato ListBox ogni volta che un elemento viene aggiunto all'elenco finché tutti gli elementi non vengono aggiunti all'elenco.If you want to use the Add method to add a large number of items to the list, use the BeginUpdate and EndUpdate methods to prevent the ListBox from repainting each time an item is added to the list until all items are added to the list. Quando si aggiungono elementi a un oggetto ListBox , è più efficiente ordinare prima gli elementi e quindi aggiungere nuovi elementi.When adding items to a ListBox, it is more efficient to sort the items first and then add new items.

Quando un oggetto viene aggiunto alla raccolta, ListBox verifica innanzitutto se la DisplayMember proprietà della ListControl classe ha il nome di un membro dell'oggetto specificato a cui fare riferimento quando si ottiene il testo dell'elemento.When an object is added to the collection, the ListBox first checks to see if the DisplayMember property of the ListControl class has the name of a member from the object specified to reference when obtaining the item text. Se la DisplayMember proprietà non dispone di un membro specificato, ListBox chiama il ToString metodo dell'oggetto per ottenere il testo da visualizzare nell'elenco.If the DisplayMember property does not have a member specified, the ListBox then calls the ToString method of the object to obtain the text to display in the list.

Si applica a