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 提交新项时引发 事件。

适用于

另请参阅