次の方法で共有


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 イベントは自動的に発生します。

    このイベントをプログラムで処理して、新しいカスタム項目を作成できます。 これは、イベント ハンドラーで、AddingNewEventArgs パラメーターのNewObject プロパティを新しい項目に設定することによって実現されます。

    それ以外の場合、新しい項目は、そのパブリック パラメーターなしのコンストラクターを使用して自動的に作成されます。

  2. 新しい項目の位置は追跡されますが、次のいずれかの条件が満たされるまでリストに追加されません。

    • 項目は、 EndNewの呼び出しによって明示的にコミットされます。

    • 項目は、項目の挿入や削除など、リストの内容を変更した他の操作によって暗黙的にコミットされます。

これに対し、項目がコミットされる前に CancelNew メソッドを呼び出すと、新しい項目が破棄されます。

このメソッドは、新しい項目がコミットされたときに ListChanged イベントを発生させます。

適用対象

こちらもご覧ください