BindingList<T>.AddNew Metoda

Definicja

Dodaje nowy element do kolekcji.Adds a new item to the collection.

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

Zwraca

T

Element dodany do listy.The item added to the list.

Wyjątki

Właściwość jest ustawiona na false. AllowNewThe AllowNew property is set to false.

—lub—-or- Nie można odnaleźć publicznego konstruktora bez parametrów dla bieżącego typu elementu.A public parameterless constructor could not be found for the current item type.

Przykłady

Poniższy przykład kodu demonstruje sposób używania AddNew metody.The following code example demonstrates how to use the AddNew method. BindingList<T>.BindingList<T>. Aby zapoznać się z kompletnym przykładem, zobacz BindingList<T> temat Omówienie klas.For the complete example, see the BindingList<T> class overview topic.

// 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

Uwagi

Metoda dodaje nowy element do kolekcji reprezentowanej Items przez właściwość. AddNewThe AddNew method adds a new item to the collection represented by the Items property. Aby dodać nowy element, używana jest następująca logika:To add a new item, the following logic is used:

  1. AddingNew Zdarzenie jest zgłaszane automatycznie.The AddingNew event is automatically raised.

    To zdarzenie może być obsługiwane programowo w celu utworzenia nowego elementu niestandardowego.This event can be programmatically handled to construct a new custom item. Jest to realizowane w programie obsługi zdarzeń przez ustawienie NewObject właściwości AddingNewEventArgs parametru na nowy element.This is accomplished in the event handler by setting the NewObject property of the AddingNewEventArgs parameter to the new item.

    W przeciwnym razie nowy element zostanie automatycznie utworzony za pomocą publicznego konstruktora bez parametrów.Otherwise, the new item is automatically created through its public parameterless constructor.

  2. Pozycja nowego elementu jest śledzona, ale nie jest dodawana do listy, dopóki nie zostanie spełniony jeden z następujących warunków:The position of the new item is tracked, but it is not added to the list until one of the following conditions are met:

    • Element jest jawnie zatwierdzany przez wywołanie EndNew.The item is explicitly committed by a call to EndNew.

    • Element jest niejawnie zatwierdzany przez inną operację, która zmieniła zawartość listy, taką jak wstawianie lub usuwanie elementu.The item is implicitly committed by some other operation that changed the contents of the list, such as an insertion or removal of an item.

Natomiast wywołanie CancelNew metody przed zatwierdzeniem elementu spowoduje odrzucenie nowego elementu.In contrast, calling the CancelNew method before the item is committed will cause the new item to be discarded.

Ta metoda podnosi ListChanged zdarzenie po zatwierdzeniu nowego elementu.This method raises the ListChanged event when the new item is committed.

Dotyczy

Zobacz też