BindingList<T>.AddNew Metod

Definition

Lägger till ett nytt objekt i samlingen.

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

Returer

T

Objektet har lagts till i listan.

Undantag

Egenskapen AllowNew är inställd på false.

-eller-

Det gick inte att hitta en offentlig parameterlös konstruktor för den aktuella objekttypen.

Exempel

I följande kodexempel visas hur du använder AddNew metoden. BindingList<T>. Det fullständiga exemplet finns i BindingList<T> avsnittet klassöversikt.

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

Kommentarer

Metoden AddNew lägger till ett nytt objekt i samlingen som representeras av egenskapen Items . För att lägga till ett nytt objekt används följande logik:

  1. Händelsen AddingNew aktiveras automatiskt.

    Den här händelsen kan hanteras programmatiskt för att skapa ett nytt anpassat objekt. Detta görs i händelsehanteraren genom att ange NewObject egenskapen för parametern AddingNewEventArgs till det nya objektet.

    Annars skapas det nya objektet automatiskt via den offentliga parameterlösa konstruktorn.

  2. Positionen för det nya objektet spåras, men det läggs inte till i listan förrän något av följande villkor uppfylls:

    • Objektet checkas uttryckligen in av ett anrop till EndNew.

    • Objektet bekräftas implicit av någon annan åtgärd som ändrade innehållet i listan, till exempel en infogning eller borttagning av ett objekt.

Om du anropar CancelNew metoden innan objektet checkas in tas det nya objektet däremot bort.

Den här metoden genererar ListChanged händelsen när det nya objektet har checkats in.

Gäller för

Se även