BindingList<T>.AddNew Yöntem

Tanım

Koleksiyona yeni bir öğe ekler.

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

Döndürülenler

T

Listeye eklenen öğe.

Özel durumlar

AllowNew özelliği false olarak ayarlanmıştır.

-veya-

Geçerli öğe türü için ortak parametresiz oluşturucu bulunamadı.

Örnekler

Aşağıdaki kod örneğinde yönteminin nasıl kullanılacağı gösterilmektedir AddNew . BindingList<T>. Tam örnek için sınıfa genel bakış konusuna BindingList<T> bakın.

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

Açıklamalar

yöntemi, AddNew özelliğiyle Items temsil edilen koleksiyona yeni bir öğe ekler. Yeni öğe eklemek için aşağıdaki mantık kullanılır:

  1. Olay AddingNew otomatik olarak oluşturulur.

    Bu olay, yeni bir özel öğe oluşturmak için program aracılığıyla işlenebilir. Bu, olay işleyicisinde parametresinin NewObjectAddingNewEventArgs özelliği yeni öğeye ayarlanarak gerçekleştirilir.

    Aksi takdirde, yeni öğe ortak parametresiz oluşturucu aracılığıyla otomatik olarak oluşturulur.

  2. Yeni öğenin konumu izlenir, ancak aşağıdaki koşullardan biri karşılanana kadar listeye eklenmez:

    • Öğe açıkça çağrısı EndNewtarafından işlenir.

    • Öğe, bir öğenin eklenmesi veya kaldırılması gibi listenin içeriğini değiştiren başka bir işlem tarafından örtük olarak işlenir.

Buna karşılık, öğe işlenmeden önce yönteminin çağrılması CancelNew yeni öğenin atılmasına neden olur.

Bu yöntem, yeni öğe işlendiğinde olayı tetikler ListChanged .

Şunlara uygulanır

Ayrıca bkz.