Sdílet prostřednictvím


ListBox.ObjectCollection.Add(Object) Metoda

Definice

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

Parametry

item
Object

Objekt představující položku, kterou chcete přidat do kolekce.

Návraty

Index položky v kolekci založený na nule nebo -1, pokud BeginUpdate() byl volána.

Výjimky

Není k dispozici dostatek místa pro přidání nové položky do seznamu.

item je null.

Příklady

Následující příklad kódu ukazuje, jak vytvořit ListBox ovládací prvek, který zobrazuje více položek ve sloupcích a může mít více než jednu položku vybranou v seznamu ovládacího prvku. Kód pro příklad přidá 50 položek do ListBox metody Add třídy ListBox.ObjectCollection a pak pomocí metody vybere tři položky ze seznamu SetSelected . Kód pak zobrazí hodnoty z ListBox.SelectedObjectCollection kolekce (prostřednictvím SelectedItems vlastnosti) a ListBox.SelectedIndexCollection (prostřednictvím SelectedIndices vlastnosti). Tento příklad vyžaduje, aby kód byl umístěn a volána z objektu 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

Poznámky

Pokud je vlastnost nastavena SortedListBox na true, položka se vloží do seznamu abecedně. V opačném případě se položka vloží na konec seznamu. Chcete-li vložit položku do seznamu na konkrétní pozici, použijte metodu Insert . Chcete-li přidat sadu položek do seznamu v jedné operaci, použijte metodu AddRange . Pokud chcete metodu Add použít k přidání velkého počtu položek do seznamu, použijte tyto BeginUpdate a EndUpdate metody, abyste zabránili ListBox opětovnému nakreslení položky při každém přidání položky do seznamu, dokud se do seznamu nepřidají všechny položky. 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.

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.

Platí pro