Sdílet prostřednictvím


BindingList<T>.AddNew Metoda

Definice

Přidá do kolekce novou položku.

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

Návraty

T

Položka přidaná do seznamu.

Výjimky

Vlastnost AllowNew je nastavena na hodnotu false.

nebo

Veřejný konstruktor bez parametrů nebyl nalezen pro aktuální typ položky.

Příklady

Následující příklad kódu ukazuje, jak použít metodu AddNew . BindingList<T>. Úplný příklad najdete v tématu přehledu BindingList<T> třídy.

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

Poznámky

Metoda AddNew přidá novou položku do kolekce reprezentované Items vlastností. K přidání nové položky se používá následující logika:

  1. Událost AddingNew se automaticky vyvolá.

    Tuto událost lze zpracovat prostřednictvím kódu programu pro vytvoření nové vlastní položky. To se provádí v obslužné rutině události nastavením NewObject vlastnosti AddingNewEventArgs parametru na novou položku.

    V opačném případě se nová položka automaticky vytvoří prostřednictvím veřejného konstruktoru bez parametrů.

  2. Pozice nové položky je sledována, ale není přidána do seznamu, dokud nebudou splněny některé z následujících podmínek:

    • Položka je explicitně potvrzena voláním EndNew.

    • Položka je implicitně potvrzena nějakou jinou operací, která změnila obsah seznamu, například vložení nebo odebrání položky.

Naproti tomu volání CancelNew metody před potvrzením položky způsobí, že nová položka bude zahozena.

Tato metoda vyvolá ListChanged událost při potvrzení nové položky.

Platí pro

Viz také