BindingList<T>.AddNew Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
Položka přidaná do seznamu.
Výjimky
Vlastnost AllowNew je nastavena na hodnotu false
.
-nebo-
Pro aktuální typ položky nebyl nalezen veřejný konstruktor bez parametrů.
Příklady
Následující příklad kódu ukazuje, jak použít metodu AddNew . BindingList<T>. Úplný příklad najdete v tématu s přehledem BindingList<T> třídy.
// 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
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:
Událost AddingNew se automaticky vyvolá.
Tato událost se dá programově zpracovat a vytvořit novou vlastní položku. Toho se dosahuje v obslužné rutině události nastavením NewObject vlastnosti parametru AddingNewEventArgs 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ů.
Pozice nové položky je sledována, ale není přidána do seznamu, dokud není splněna jedna z následujících podmínek:
Položka je explicitně potvrzena voláním .EndNew
Položka je implicitně potvrzena jinou operací, která změnila obsah seznamu, například vložením nebo odebráním 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.