BindingList<T>.AddNew Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Добавляет новый элемент в коллекцию.
public:
T AddNew();
public T AddNew ();
member this.AddNew : unit -> 'T
Public Function AddNew () As T
Возвращаемое значение
Элемент, который нужно добавить в список.
Исключения
Свойству AllowNew задано значение false
.
-или-
Для текущего типа элемента не удалось найти открытый конструктор без параметров.
Примеры
В следующем примере кода показано, как использовать метод AddNew. BindingList<T>. Полный пример см. в обзоре BindingList<T> класса.
// Add the new part unless the part number contains
// spaces. In that case cancel the add.
private 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 . Чтобы добавить новый элемент, используется следующая логика:
Событие AddingNew вызывается автоматически.
Это событие может быть обработано программным способом для создания нового пользовательского элемента. Для этого в обработчике событий задается NewObject новый элемент в свойстве AddingNewEventArgs параметра .
В противном случае новый элемент автоматически создается с помощью открытого конструктора без параметров.
Позиция нового элемента отслеживается, но не добавляется в список, пока не будет выполнено одно из следующих условий:
Элемент явно фиксируется вызовом EndNew.
Элемент неявно фиксируется какой-либо другой операцией, которая изменила содержимое списка, например вставкой или удалением элемента.
В отличие от этого, вызов CancelNew метода до фиксации элемента приведет к отмене нового элемента.
Этот метод вызывает событие при ListChanged фиксации нового элемента.