다음을 통해 공유


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 이벤트가 자동으로 발생 합니다.

    이 이벤트는 프로그래밍 방식으로 처리하여 새 사용자 지정 항목을 생성할 수 있습니다. 설정 하 여 이벤트 처리기에서 이렇게 합니다 NewObject 의 속성을 AddingNewEventArgs 매개 변수를 새 항목.

    그렇지 않으면 새 항목이 공용 매개 변수 없는 생성자를 통해 자동으로 만들어집니다.

  2. 새 항목의 위치는 추적되지만 다음 조건 중 하나가 충족될 때까지 목록에 추가되지 않습니다.

    • 항목은 에 대한 호출 EndNew로 명시적으로 커밋됩니다.

    • 항목은 항목 삽입 또는 제거와 같이 목록 내용을 변경한 다른 작업에 의해 암시적으로 커밋됩니다.

반대로 항목이 CancelNew 커밋되기 전에 메서드를 호출하면 새 항목이 삭제됩니다.

이 메서드는 새 항목이 ListChanged 커밋되면 이벤트를 발생합니다.

적용 대상

추가 정보