Hierarquia de Proxy de Domínio .Net

Há quatro principais proxies base que você pode estender para criar novos proxies para um controle no domínio .Net. Eles são ObjectProxy, ComponentProxy, ControlProxy e ControlWithSubobjectsProxy.
ObjectProxy
O proxy ObjectProxy é o proxy base para os proxies de domínio .Net. Por padrão, ele é mapeado para objetos de classe System.Object. Ele contém a implementação padrão de vários métodos de classe base, como GetChildren(), GetMappableChildren() e GetRecognitionProperties(). Este é um proxy não-UI. Se o seu controle for derivado da classe System.Object, você poderá herdar o proxy para o controle de ObjectProxy.
ComponentProxy
O proxy ComponentProxy é a classe base para lidar com objetos derivados de System.ComponentModel.Component. Esse proxy implementa métodos TestObject como GetParent() e GetMappableChildren().
ControlProxy
Por padrão, qualquer controle .Net do qual a classe System.Windows.Forms deriva é mapeado para o proxy ControlProxy. Ele fornece registro baseado em coordenadas e suporte de reprodução para ações do mouse como clicar, arrastar e pousar sobre algum item. Também fornece suporte para ponto de verificação de propriedades, objetos de rolagem e ponto relacionado ao objeto na visualização.
ControlWithSubobjectsProxy
O proxy ControlWithSubobjectsProxy implementa funcionalidades básicas para controles de contêiner como Form e UserControl. Esse proxy também fornece suporte para controles com partes que podem ser clicadas e endereçadas, por exemplo, o controle DataGrid que tem SubItem Cell e cabeçalho. Além disso, ControlWithSubobjectsProxy fornece suporte para gravação e reprodução para SubItem da barra de rolagem, rolagem de SubItem no controle e SubItem no ScrollablControl-pai aninhado.

Hierarquia de Proxy para Controles .Net

A figura a seguir é um diagrama de classe da hierarquia de proxy para controles .Net:

Feedback