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
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:
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ů.
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.