Exportar (0) Imprimir
Expandir Tudo
Este artigo foi traduzido por máquina. Coloque o ponteiro do mouse sobre as frases do artigo para ver o texto original. Mais informações.
Tradução
Original

Classe BindingManagerBase

Gerencia todos os Binding objetos que estão vinculados ao mesmo membro de dados e fonte de dados. Essa classe é abstrata.

Namespace:  System.Windows.Forms
Assembly:  System.Windows.Forms (em System.Windows.Forms.dll)

public abstract class BindingManagerBase

O tipo BindingManagerBase expõe os membros a seguir.

  NomeDescrição
Método públicoBindingManagerBaseInicializa uma nova instância da classe BindingManagerBase.
Superior

  NomeDescrição
Propriedade públicaBindingsObtém a coleção de ligações que está sendo gerenciado.
Propriedade públicaCountQuando substituído em uma classe derivada, obtém o número de linhas gerenciadas pelo BindingManagerBase.
Propriedade públicaCurrentQuando substituído em uma classe derivada, obtém o objeto atual.
Propriedade públicaIsBindingSuspendedObtém um valor indicando se a vinculação está suspenso.
Propriedade públicaPositionQuando substituído em uma classe derivada, obtém ou define a posição na lista subjacente que controles vinculados a esse ponto de origem de dados para.
Superior

  NomeDescrição
Método públicoAddNewQuando substituído em uma classe derivada, adiciona um novo item à lista subjacente.
Método públicoCancelCurrentEditQuando substituído em uma classe derivada, cancela a edição atual.
Método públicoEndCurrentEditQuando substituído em uma classe derivada, encerra a edição atual.
Método públicoEquals(Object) Verifica se o objeto especificado é igual ao objeto atual. (Herdado de Object.)
Método protegidoFinalize Permite um objeto tentar liberar recursos e executar outras operações de limpeza antes que ele seja recuperado pela coleta de lixo. (Herdado de Object.)
Método públicoGetHashCodeServe como a função de hash padrão. (Herdado de Object.)
Método públicoGetItemProperties()Quando substituído em uma classe derivada, obtém a coleção de descritores de propriedade para a ligação.
Método protegidoGetItemProperties(ArrayList, ArrayList)Obtém a coleção de descritores de propriedade para a ligação usando especificado ArrayList.
Método protegidoGetItemProperties(Type, Int32, ArrayList, ArrayList)Obtém a lista de propriedades dos itens gerenciados por isso BindingManagerBase.
Método protegidoGetListNameQuando substituído em uma classe derivada, obtém o nome da lista fornecendo os dados para a ligação.
Método públicoGetType Obtém o Type da instância atual. (Herdado de Object.)
Método protegidoMemberwiseCloneCria uma cópia superficial do Object atual. (Herdado de Object.)
Método protegidoOnBindingCompleteGera o evento BindingComplete.
Método protegidoOnCurrentChangedGera o evento CurrentChanged.
Método protegidoOnCurrentItemChangedGera o evento CurrentItemChanged.
Método protegidoOnDataErrorGera o evento DataError.
Método protegidoPullDataExtrai os dados do controle ligado a dados na fonte de dados, não retornando nenhuma informação.
Método protegidoPushDataEnvia os dados da fonte de dados no controle vinculado a dados, não retornando nenhuma informação.
Método públicoRemoveAtQuando substituído em uma classe derivada, exclui a linha no índice especificado na lista subjacente.
Método públicoResumeBindingQuando substituído em uma classe derivada, reinicia a ligação de dados.
Método públicoSuspendBindingQuando substituído em uma classe derivada, suspende a ligação de dados.
Método públicoToStringRetorna uma string que representa o objeto atual. (Herdado de Object.)
Método protegidoUpdateIsBindingQuando substituído em uma classe derivada, atualiza a vinculação.
Superior

  NomeDescrição
Evento públicoBindingCompleteOcorre após a conclusão de uma operação de vinculação de dados.
Evento públicoCurrentChangedOcorre quando o item ligado no momento é alterado.
Evento públicoCurrentItemChangedOcorre quando o estado do item vinculado é alterado.
Evento públicoDataErrorOcorre quando um Exception silenciosamente é tratado pelo BindingManagerBase.
Evento públicoPositionChangedOcorre após o valor da Position propriedade foi alterada.
Superior

  NomeDescrição
Campo protegidoonCurrentChangedHandlerEspecifica o manipulador de eventos para o CurrentChanged evento.
Campo protegidoonPositionChangedHandlerEspecifica o manipulador de eventos para o PositionChanged evento.
Superior

O BindingManagerBase permite a sincronização de controles ligados a dados em um Windows Form que estão acoplados à mesma fonte de dados. (Para obter mais informações sobre simples ligar um controle a uma fonte de dados, consulte a Binding classe.) Por exemplo, suponha que um formulário contém dois TextBox controles que são acoplados à mesma fonte de dados, mas em colunas diferentes. A fonte de dados pode ser um DataTable que contém os nomes de clientes, enquanto as colunas podem conter os nomes e sobrenomes. Os dois controles devem ser sincronizados para exibir os nomes e sobrenomes corretos em conjunto para o mesmo cliente. O CurrencyManager, que herda de BindingManagerBase da classe, realiza essa sincronização mantendo um ponteiro para o item atual na fonte de dados. O TextBox controles estão vinculados ao item atual para que sejam exibidas as informações para a mesma linha. Quando o item atual for alterada, o CurrencyManager notifica todos os controles do limite para que eles podem atualizar seus dados. Além disso, você pode definir a Position propriedade para especificar a linha a DataTable que os controles apontam para. Para determinar quantas linhas existem na fonte de dados, use o Count propriedade.

O CurrencyManager é necessária porque as fontes de dados não necessariamente manter um ponteiro item atual. Por exemplo, arrays e ArrayList os objetos podem ser fontes de dados, mas eles não têm uma propriedade que retorna o item atual. Para obter o item atual, use o Current propriedade.

O PropertyManager também herda a partir de BindingManagerBase, e ele é usado para manter a propriedade atual de um objeto, em vez da propriedade de um objeto atual em uma fonte de dados. Por esse motivo, tentar definir a Position ou Count propriedade para um PropertyManager não tem efeito.

Para criar um BindingManagerBase, use o BindingContext classe, que retorna um um CurrencyManager ou um PropertyManager, dependendo da fonte de dados que está sendo gerenciada.

Os programadores de soluções são incentivados a vincular controles diretamente a uma BindingSource componente, que atua como uma fonte de dados e o conector de dados à fonte de dados de destino real. BindingSource simplifica bastante a ambos os vinculação de dados de simples e complexos, incluindo o gerenciamento de moeda entre o controle e seu destino.

Observações para herdeiros

When you inherit from BindingManagerBase, you must override the following abstract members: AddNew, Count, CancelCurrentEdit, Current, EndCurrentEdit, GetItemProperties, OnCurrentChanged, Position, RemoveAt, ResumeBinding, SuspendBinding, and UpdateIsBinding.

O seguinte exemplo de código usa a BindingContext para retornar um BindingManagerBase para uma fonte de dados específicos. (O exemplo presume que você tenha declarado myBindingManagerBase na seção declarações do módulo.) O exemplo, em seguida, adiciona os representantes de evento para o CurrentChanged e PositionChanged eventos. Por último, o exemplo contém quatro métodos (MoveNext, MovePrevious, MoveFirst, e MoveLast) que incrementar ou decrementar a Position propriedade e o conjunto de Position para a primeira ou última linha da lista. A última linha na lista é determinada usando o Count propriedade.


private void GetBindingManagerBase()
{
   /* CustomersToOrders is the RelationName of a DataRelation. 
   Therefore, the list maintained by the BindingManagerBase is the
   list of orders that belong to a specific customer in the 
   DataTable named Customers, found in DataSet1. */
   myBindingManagerBase = 
   this.BindingContext[DataSet1, "Customers.CustomersToOrders"];

   // Adds delegates to the CurrentChanged and PositionChanged events.
   myBindingManagerBase.PositionChanged += 
   new EventHandler(BindingManagerBase_PositionChanged);
   myBindingManagerBase.CurrentChanged +=
   new EventHandler(BindingManagerBase_CurrentChanged);
}

private void BindingManagerBase_PositionChanged
(object sender, EventArgs e)
{
   // Prints the new Position of the BindingManagerBase.
   Console.Write("Position Changed: ");
   Console.WriteLine(((BindingManagerBase)sender).Position);
}

private void BindingManagerBase_CurrentChanged
(object sender, EventArgs e)
{
   // Prints the new value of the current object.
   Console.Write("Current Changed: ");
   Console.WriteLine(((BindingManagerBase)sender).Current);
}

private void MoveNext()
{
   // Increments the Position property value by one.
   myBindingManagerBase.Position += 1;
}

private void MovePrevious()
{
   // Decrements the Position property value by one.
   myBindingManagerBase.Position -= 1;
}

private void MoveFirst()
{
   // Goes to the first row in the list.
   myBindingManagerBase.Position = 0;
}

private void MoveLast()
{
   // Goes to the last row in the list.
   myBindingManagerBase.Position = 
   myBindingManagerBase.Count - 1;
}



.NET Framework

Com suporte em: 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Com suporte em: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Função Server Core sem suporte), Windows Server 2008 R2 (Função Server Core com suporte com o SP1 ou posterior, Itanium sem suporte)

O .NET Framework não oferece suporte a todas as versões de cada plataforma. Para obter uma lista das versões com suporte, consulte Requisitos do sistema do .NET Framework.

Qualquer estático (Shared no Visual Basic) membro público desse tipo é thread-safe. Não há garantia de que qualquer membro de instância seja thread-safe.

Contribuições da comunidade

ADICIONAR
A Microsoft está realizando uma pesquisa online para saber sua opinião sobre o site do MSDN. Se você optar por participar, a pesquisa online lhe será apresentada quando você sair do site do MSDN.

Deseja participar?
Mostrar:
© 2014 Microsoft