ListBox.ObjectCollection.Add(Object) Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Lägger till ett objekt i listan med objekt för en 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
Parametrar
- item
- Object
Ett objekt som representerar objektet som ska läggas till i samlingen.
Returer
Det nollbaserade indexet för objektet i samlingen eller -1 om BeginUpdate() det har anropats.
Undantag
Det finns inte tillräckligt med utrymme för att lägga till det nya objektet i listan.
item är null.
Exempel
Följande kodexempel visar hur du skapar en ListBox kontroll som visar flera objekt i kolumner och kan ha fler än ett objekt markerat i kontrollens lista. Koden för exemplet lägger till 50 objekt i ListBox metoden för Add klassen och väljer sedan tre objekt i listan med hjälp av ListBox.ObjectCollectionSetSelected metoden . Koden visar sedan värden från ListBox.SelectedObjectCollection samlingen (via SelectedItems egenskapen) och ListBox.SelectedIndexCollection (via egenskapen SelectedIndices ). Det här exemplet kräver att koden finns i och anropas från en 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
Kommentarer
Sorted Om egenskapen för ListBox är inställd på trueinfogas objektet i listan alfabetiskt. Annars infogas objektet i slutet av listan. Om du vill infoga ett objekt i listrutan vid en viss position använder du Insert metoden . Om du vill lägga till en uppsättning objekt i listrutan i en enda åtgärd använder du AddRange metoden . Om du vill använda Add metoden för att lägga till ett stort antal objekt i listan använder BeginUpdate du metoderna och EndUpdate för att förhindra att ommålningen ListBox görs varje gång ett objekt läggs till i listan tills alla objekt läggs till i listan. När du lägger till objekt i en ListBoxär det mer effektivt att sortera objekten först och sedan lägga till nya objekt.
När ett objekt läggs till i samlingen kontrollerar de ListBox första om DisplayMember egenskapen ListControl för klassen har namnet på en medlem från det objekt som anges som referens när objekttexten hämtas. Om egenskapen DisplayMember inte har någon angiven ListBox medlem anropar ToString sedan -metoden för objektet för att hämta texten som ska visas i listan.