ListBox.ObjectCollection.Add(Object) 方法

定义

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

参数

item
Object

一个对象,它表示要添加到集合中的项。An object representing the item to add to the collection.

返回

集合中项的从零开始的索引;如果已调用 BeginUpdate(),则为 -1。The zero-based index of the item in the collection, or -1 if BeginUpdate() has been called.

实现

异常

没有足够的空间来向列表中添加新项。There is insufficient space available to add the new item to the list.

itemnullitem is null.

示例

下面的代码示例演示如何创建一个ListBox控件,该控件在列中显示多个项,并且可以在控件的列表中选择多个项。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. 示例ListBox的代码Add使用ListBox.ObjectCollection类的方法将50项添加到,然后使用SetSelected方法从列表中选择三项。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. 然后, ListBox.SelectedObjectCollection此代码显示集合中的值( SelectedItems通过属性) SelectedIndicesListBox.SelectedIndexCollection (通过属性)。The code then displays values from the ListBox.SelectedObjectCollection collection (through the SelectedItems property) and the ListBox.SelectedIndexCollection (through the SelectedIndices property). 此示例要求代码位于中,并从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

注解

如果将的ListBox true属性设置为,则该项将按字母顺序插入列表中。 SortedIf the Sorted property of the ListBox is set to true, the item is inserted into the list alphabetically. 否则,项将插入到列表的末尾。Otherwise, the item is inserted at the end of the list. 若要将某项插入列表框中的特定位置,请使用Insert方法。To insert an item into the list box at a specific position, use the Insert method. 若要在一个操作中将一组项添加到列表框中,请AddRange使用方法。To add a set of items to the list box in a single operation, use the AddRange method. 如果要使用Add方法向列表中添加大量的项,请BeginUpdate使用ListBoxEndUpdate方法,以防止每次将项添加到列表中时,将项添加到列表中,直到将所有项添加到列表中为止。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. 向添加项ListBox时,首先排序项并添加新项会更有效。When adding items to a ListBox, it is more efficient to sort the items first and then add new items.

将对象添加到集合时, ListBox首先会检查DisplayMember ListControl类的属性是否具有指定的对象的名称,以在获取项文本时引用该成员。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. 如果该DisplayMember属性没有指定的成员,则将ListBox调用ToString对象的方法以获取要在列表中显示的文本。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.

适用于