ListBox.ObjectCollection.Add(Object) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Přidá položku do seznamu položek pro 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, která se má přidat do kolekce.
Návraty
Index položky v kolekci založený na nule nebo -1, pokud BeginUpdate() byl volána.
Výjimky
Pro přidání nové položky do seznamu není k dispozici dostatek místa.
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 příkladu přidá 50 položek pomocí ListBoxAdd metody ListBox.ObjectCollection třídy a pak vybere tři položky ze seznamu pomocí SetSelected metody . 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 se kód nacházel v a volal z .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
Sorted Pokud je vlastnost objektu nastavená ListBox 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 určité pozici, použijte metodu Insert . Pokud chcete přidat sadu položek do seznamu v rámci jedné operace, použijte metodu AddRange . Pokud chcete použít metodu Add k přidání velkého počtu položek do seznamu, použijte BeginUpdate metody a EndUpdate , abyste zabránili ListBox překreslení při každém přidání položky do seznamu, dokud nebudou do seznamu přidány všechny položky. Při přidávání položek do ListBoxje efektivnější položky nejprve seřadit a pak přidat nové položky.
Když je objekt přidán do kolekce, první zkontroluje ListBox , zda DisplayMember vlastnost ListControl třídy má název členu z objektu určeného k odkazu při získávání textu položky. DisplayMember Pokud vlastnost nemá člen zadaný, ListBox pak zavolá metodu ToString objektu k získání textu, který se má zobrazit v seznamu.