共用方式為


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.
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 會自動被觸發。

    此事件可透過程式化處理,建構新的自訂項目。 這在事件處理程序中透過設定 NewObject 參數的屬性 AddingNewEventArgs 來完成。

    否則,新項目會透過其公開無參數建構器自動建立。

  2. 新項目的位置會被追蹤,但只有在滿足以下條件之一後才會加入清單:

    • 該項目透過對 的呼叫 EndNew明確提交。

    • 該項目是由其他操作隱含的,該操作改變了清單內容,例如插入或移除某項目。

相較之下,若在項目提交前呼叫該 CancelNew 方法,則會丟棄新項目。

此方法在新項目提交時觸發 ListChanged 事件。

適用於

另請參閱