Поделиться через


BindingList<T>.AddNew Метод

Определение

Добавляет новый элемент в коллекцию.

public:
 T AddNew();
public T AddNew();
member this.AddNew : unit -> 'T
Public Function AddNew () As T

Возвращаемое значение

T

Элемент, добавленный в список.

Исключения

Для свойства AllowNew задано значение false.

–или–

Не удалось найти открытый конструктор без параметров для текущего типа элемента.

Примеры

В следующем примере кода показано, как использовать AddNew метод. BindingList<T>. Полный пример см. в BindingList<T> разделе обзора класса.

// Add the new part unless the part number contains
// spaces. In that case cancel the add.
void button1_Click(object sender, EventArgs e)
{
    Part newPart = listOfParts.AddNew();

    if (newPart.PartName.Contains(' '))
    {
        _ = MessageBox.Show("Part names cannot contain spaces.");
        listOfParts.CancelNew(listOfParts.IndexOf(newPart));
    }
    else
    {
        textBox2.Text = randomNumber.Next(9999).ToString();
        textBox1.Text = "Enter part name";
    }
}
' Add the new part unless the part number contains
' spaces. In that case cancel the add.
Private Sub button1_Click(ByVal sender As Object, _
    ByVal e As EventArgs) Handles button1.Click

    Dim newPart As Part = listOfParts.AddNew()

    If newPart.PartName.Contains(" ") Then
        MessageBox.Show("Part names cannot contain spaces.")
        listOfParts.CancelNew(listOfParts.IndexOf(newPart))
    Else
        textBox2.Text = randomNumber.Next(9999).ToString()
        textBox1.Text = "Enter part name"
    End If

End Sub

Комментарии

Метод AddNew добавляет новый элемент в коллекцию, представленную свойством Items . Чтобы добавить новый элемент, используется следующая логика:

  1. Событие AddingNew автоматически вызывается.

    Это событие можно программно обрабатывать для создания нового пользовательского элемента. Это достигается в обработчике событий, задав NewObject свойство AddingNewEventArgs параметра новому элементу.

    В противном случае новый элемент автоматически создается через его открытый конструктор без параметров.

  2. Позиция нового элемента отслеживается, но она не добавляется в список до тех пор, пока не будет выполнено одно из следующих условий:

    • Элемент явно фиксируется вызовом EndNew.

    • Элемент неявно фиксируется другой операцией, которая изменила содержимое списка, например вставку или удаление элемента.

В отличие от этого, вызов CancelNew метода перед фиксацией элемента приведет к отмене нового элемента.

Этот метод вызывает ListChanged событие при фиксации нового элемента.

Применяется к

См. также раздел