Nyelv

BindingList<T>.AddNew Metódus

Definíció

Új elemet ad hozzá a gyűjteményhez.

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

Válaszok

T

A listához hozzáadott elem.

Kivételek

A AllowNew tulajdonság be van állítva false-re.

-vagy-

Nem található nyilvános paraméter nélküli konstruktor az aktuális elemtípushoz.

Példák

Az alábbi példakód bemutatja a AddNew metódus használatát. BindingList<T>. A teljes példáért tekintse meg az osztály áttekintési témakörét BindingList<T> .

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

Megjegyzések

A AddNew metódus új elemet ad hozzá a tulajdonság által képviselt gyűjteményhez Items . Új elem hozzáadásához a következő logikát használja a rendszer:

  1. Az AddingNew esemény automatikusan fel lesz emelve.

    Ez az esemény programozott módon kezelhető egy új egyéni elem létrehozásához. Ez az eseménykezelőben úgy érhető el, hogy a NewObject paraméter tulajdonságát az új elemre állítja AddingNewEventArgs .

    Ellenkező esetben az új elem automatikusan létrejön a nyilvános paraméter nélküli konstruktoron keresztül.

  2. Az új elem pozícióját nyomon követi a rendszer, de csak akkor adja hozzá a listához, ha az alábbi feltételek valamelyike teljesül:

    • Az elemet egy hívás kifejezetten véglegesíteni kívánja EndNew.

    • Az elemet implicit módon lekötötte egy másik művelet, amely módosította a lista tartalmát, például egy elem beszúrása vagy eltávolítása.

Ezzel szemben az elem véglegesítése előtt a CancelNew metódus meghívása az új elem elvetéséhez vezet.

Ez a metódus az ListChanged új elem véglegesítésekor aktiválja az eseményt.

A következőre érvényes:

Lásd még