BindingList<T>.AddNew 方法

定義

將新項目加入至集合中。

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

傳回

T

加入此清單的項目。

例外狀況

AllowNew 屬性設定為 false

-或-

目前項目類型找不到公用無參數建構函式。

範例

下列程式碼範例會示範如何使用 AddNew 方法。 BindingList<T>. 如需完整的範例,請參閱 BindingList<T> 類別概觀主題。

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

備註

方法會將 AddNew 新專案加入至 屬性所代表的 Items 集合。 若要新增專案,會使用下列邏輯:

  1. 事件 AddingNew 會自動引發。

    這個事件可以程式設計方式處理,以建構新的自定義專案。 這會在事件處理程式中完成,方法是將 參數的 AddingNewEventArgs 屬性設定NewObject為新專案。

    否則,新專案會自動透過其公用無參數建構函式建立。

  2. 會追蹤新專案的位置,但除非符合下列其中一個條件,否則不會新增至清單:

    • 呼叫 來明確認可 EndNew專案。

    • 專案會由變更清單內容的一些其他作業隱含認可,例如插入或移除專案。

相反地,在認可專案之前呼叫 CancelNew 方法會導致捨棄新專案。

這個方法會在 ListChanged 認可新項目時引發 事件。

適用於

另請參閱