Share via


BindingList<T>.AddNew Método

Definição

Adiciona um novo item à coleção.

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

Retornos

T

O item adicionado à lista.

Exceções

A propriedade AllowNew é definida como false.

- ou -

Um construtor público sem parâmetros não pôde ser encontrado no tipo de item atual.

Exemplos

O exemplo de código a seguir demonstra como usar o AddNew método . BindingList<T>. Para obter o exemplo completo, consulte o tópico de visão geral da BindingList<T> classe.

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

Comentários

O AddNew método adiciona um novo item à coleção representada pela Items propriedade . Para adicionar um novo item, a seguinte lógica é usada:

  1. O AddingNew evento é gerado automaticamente.

    Esse evento pode ser tratado programaticamente para construir um novo item personalizado. Isso é feito no manipulador de eventos definindo a NewObject propriedade do AddingNewEventArgs parâmetro como o novo item.

    Caso contrário, o novo item será criado automaticamente por meio de seu construtor público sem parâmetros.

  2. A posição do novo item é controlada, mas não é adicionada à lista até que uma das seguintes condições seja atendida:

    • O item é explicitamente confirmado por uma chamada para EndNew.

    • O item é implicitamente confirmado por alguma outra operação que alterou o conteúdo da lista, como uma inserção ou remoção de um item.

Por outro lado, chamar o CancelNew método antes que o item seja confirmado fará com que o novo item seja descartado.

Esse método gera o ListChanged evento quando o novo item é confirmado.

Aplica-se a

Confira também