ListBox.ObjectCollection.Add(Object) ListBox.ObjectCollection.Add(Object) ListBox.ObjectCollection.Add(Object) ListBox.ObjectCollection.Add(Object) Method

定义

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 Object Object 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.

示例

下面的代码示例演示如何创建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. 该示例的代码添加到 50 个项ListBox使用Add方法ListBox.ObjectCollection类,然后选择三个项从列表中使用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属性) 和ListBox.SelectedIndexCollection(通过SelectedIndices属性)。The code then displays values from the ListBox.SelectedObjectCollection collection (through the SelectedItems property) and the ListBox.SelectedIndexCollection (through the SelectedIndices property). 此示例需要代码中,从调用FormThis 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

注解

如果Sorted的属性ListBox设置为true,该项插入到列表按字母顺序。If 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方法将大量的项添加到列表,请使用BeginUpdateEndUpdate方法,以避免ListBox重新绘制每次从某项添加到列表之前的所有项都添加到列表。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.

适用于