• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

_Rest_

[VB6] Diferenças entre Form_Load e Form_Initialized

7 mensagens neste tópico

Alguém me pode dizer as diferenças/vantagens entre o Form_Load e Form_Initialized

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

A diferença é que o evento Form_ Initialize ocorre primeiro que o evento Form_Load

Para veres o que estou a dizer faz o seguinte:

No evento Load metes uma MsgBox a dizer uma coisa qualquer que tu querias(Load p exemplo), e no evento Initialize colocas outra MsgBox com outra menssagem, e vais ver qual é que aparece primeiro  :confused:

cumps

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Mas ha alguma diferença em termos de recursos?

Nesse caso que disseste, imagina que só queres que apareça uma msgbox no inicio. Usavas qual e porquê?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Para esse tipo de coisas o mais indicado é o Form_Load, embora tambem o possas fazer com o Form_Initialize, agora explicarte o porquê :(

Existem tarefas que só podem ser feitas no Form_Load e outras que só podem ser feitas no Form_Initialize. A sensação que me dá é que quando ocorre o  event Form_Initialize a form ainda não fo completamente "construida" ou algo do genreo, mas não te sei dizer ao certo  :-[

Cumps

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Creio que o melhor local para exclarecer esse tipo de dúvidas é a documentação.

Normalmente essas diferenças de eventos estão relacionadas com o ciclo de vida dos objectos. É possível que, por exemplo, no Initialize ainda não tenhas disponíveis todos os objectos dependentes da janela mas no Load isso já esteja tudo disponível.

Mas como disse: o melhor local para saber isso é mesmo a documentação.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

o evento Form_Initialized é um evento de inicialização. Podes lá meter os valores por defeito das variaveis, ou instanciar objectos. E evento Form_Load é quando os objectos já estão criados (é chamado a seguir ao Form_Initialize).

Mas cuidado... com 1 coisa.

Form2 ola as new Form2

Neste caso, apenas o form_initialize é chamado. Para que o form load seja chamado, tens que fazer 1 cena deste género.

ola.show

Desculpa não ser muito detalhado, mas espero que tenha ajudado... pois eu deixei de programar VB6 e voltei para o Java (J2EE). I'm a little bit rusty :(

Mas é uma coisa deste género.

Mas aconcelho-te uma coisa... se quiseres fazer inicializações, não compliques e faz tudo no form load. Porque por exemplo. Se queres alterar o conteudo de 1 combobox em runtime, no inicialize, ele vai-te mandar dar 1 curva (axo eu). Porque a combo ainda não foi criada. Isso é feito no evento Load. Ou seja... não compliques, e faz tudo que é inicialização no evento Load. :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Basicamente tens de pensar o Form como uma classe

O Form_Initialized é disparado qd existe a 1ª referência ao Form .

  Form2 ola as new Form2

-> estas a dizer que queres contruir uma instância da classe Form2 , logo vai disparar Form_Initialized

onde podes preparar as variaveis , objectos da classe para mais tarde serem utilizados.

Form2.Load

o Form_Load é disparado qd queres que aquela instância seja posta na memória.

A partir daqui podes usar as variaveis e objectos da classe.

A diferença maior é que o initialize não puxa as propriedades da classe , no caso dos forms não se preocupar com o render da janela, etc, poupa memória.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora