Pergunta

Para um controle WinForms, eu gostaria de adicionar um manipulador após o recipiente foi inicializado o controle (ou melhor ainda, depois de o pai foi inicializado todos os controles contidos).

Motivo: O controle personalizado tem uma opção para desencadear uma ação automaticamente. Deve também gatilho quando esta opção é habilitado pela primeira vez.

No entanto, neste momento, outras propriedades (como manipuladores de eventos) ainda não estão conectados corretamente, e, portanto, o efeito não é o esperado.

Isso é possível?

[editar]

Eu entendo que isso sons "um pouco incomum", por isso quero esclarecer:

Ele é destinado a este componente: aproximadamente, adicionando uma opção para "automaticamente criar novo documento".

Eu posso criar a própria DocumentInfo durante a inicialização, ou quando a propriedade é atribuído durante a inicialização. No entanto, neste momento eu também deve disparar o evento para contar (geralmente o formulário pai) que ele precisa para atualizar a interface do usuário. O evento ainda não pode sido ligado para cima, ou outros controles arestill não inicializado, é por isso que eu gostaria de adiar o evento até que o formulário pai é completamente inicializado.

Foi útil?

Solução

A única coisa que eu sei do que faria isso, diretamente de dentro do controle, woudl para substituir OnVisibleChanged, e lidar com a sua acção, a primeira vez que o controle é exibido.

No entanto, gostaria repensar a necessidade para isso. Isso vai fazer com que seu controle se comportar de forma diferente a partir de formulários padrão controles do Windows. Tentando ligar o seu comportamento em um evento que é não-padrão parece ser uma manutenção e usabilidade pesadelo para mim ...

Outras dicas

Você já tentou fiação até ao evento Load do formulário e fazer o trabalho lá? (Note que este incêndios cada vez que você mostrar a forma ...)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top