Ciclo de vida das Janelas

Aqui está uma pequena explicação sobre a morte e o nascimento de uma janela.

  1. Existem dois tipos de janelas: janelas reais de nível superior e Janelas incorporadas (como as incorporadas dentro de um TabStrip no IDE).

  2. Uma janela pode ser persistente ou não. A janela não persistente é destruída quando você a fecha. Uma janela persistente apenas é ocultada.

  3. Uma janela pode ser aberta no modal (bloqueio) e modo não-modal (sem bloquear). O modo modal é implementado utilizando um ciclo de eventos local. Uma janela incorporada aberta no modo modal é feita temporariamente de nível superior.

  4. A primeira vez que uma janela é exibida, um evento Open é levantado.

  5. Uma janela pode ser fechada, chamando o método Close ou clicando no botão Fechar do gerenciador de janelas se a janela é uma janela de nível superior.

  6. Quando a janela é fechada, o evento Close é gerado. Se este evento não for parado, então a janela se torna oculta. Se a janela não for persistente, ela é destruída também. Se a janela foi aberta no modo modal, então é chamado o ciclo de eventos local utilizado para a implementação do modo modal.

  7. Quando uma janela é fechada, ela pode ser aberta novamente, e o evento Open será levantado outra vez.

  8. O argumento inteiro do método Close é devolvido pelo método ShowModal.

  9. Se você chamar Close durante o evento Close, o método não faz nada.

  10. Se você chamar Close durante o evento Open, a janela não será aberta.

  11. Se você chamar Show ou ShowModal enquanto a janela está sendo mostrado (Show), o método não faz nada.