Newsgroup: it.comp.lang.visual-basic
Titolo: domanda idiota su evento fomr_load

Ho un form che nell'evento form_load fà un tot di roba, onde evitare che
l'utente pensi che si è inchiodato tutto forzo lo show del form all'interno
dell'evento in questo modo
private sub form1_load
me.show
**codice******
end sub
Però non capisco motivo, ma in questo modo quando esco dal form cliccando
sulla croce scatta di nuovo l'evento form_load
???????
why?????
Mi immagino già che sia una boiata, però davvero da solo stavolta non ci
arrivo..
Grazie!
Ciao

 sulla croce scatta di nuovo l'evento form_load
C'č qualche istruzione (basta un riferimento al form) in qualche altro punto
del programma che riattiva l'evento Load. Consiglio: metti meno codice
possibile nell'evento Load, solo quello che č necessario a settare eventuali
variabili proprie del form.

Consiglio:
crea un metodo publico di caricamento del form e leva tutto dal form load.
Cosi il metodo di caricamento sara' chiamato solo quando lo vuoi tu e poi il
codice sara' piu pulito e leggibile...
ES.
Nella form
Public Sub Carica()
me.show
codice
codice
codice
end sub
e poi la richiami...
Dim frm as new frmPincoPallino
frm.carica
CIAO

 Cosi il metodo di caricamento sara' chiamato solo quando lo vuoi tu
Se gli si ricarica il form significa che qualcuno lo richiama.
Il form se lo troverebbe comunque in memoria, solo che non se ne
accorgerebbe nemmeno.
Il problema sta da un'altra parte, probabilmente proprio nell'unload.
Ciao

 ha scritto nel messaggio
news:S_j09.6924$lu5.1...@twister1.libero.it...

Ho trovato, praticamente ho scoperto che se cerchi di chiudere la finestra
quando il codice di form_load č ancora in esecuzione, riparte l'evento da
capo, puň essere?

 capo, può essere?
Incuriosito ho effettuato la seguente prova:
Windows2000 professional
Un form con una label
Aggiunto il seguente codice
Private Sub Form_Load()
  Show
    Dim i As Long, l As Long, k As String
    Show
For i = 0 To 1000
    For l = 0 To 1000
        k = i & ";" & l
        Label1.Caption = k
        Label1.Refresh
    Next
Next
End Sub
Il cursore rimaneva di forma verticale
e al clic sopra la x ottengo la seguente risposta:
L'applicazione non risponde ........
e chiede se terminare l'applicazione o continuare
ho provato ad attivare la clessidra, ma nulla. Il cursore sempre in forma
verticale.
Mistero di VB (for me)
Private Sub Form_Load()
  Show
Me.MousePointer = vbHourglass
Screen.MousePointer = vbHourglass
    Dim i As Long, l As Long, k As String
For i = 0 To 1000
    For l = 0 To 1000
        k = i & ";" & l
        Label1.Caption = k
        Label1.Refresh
    Next
Next
Me.MousePointer = vbNormal
Screen.MousePointer = vbNormal
End Sub
giuseppeD

 capo, può essere?
Non puoi chiudere un form nell'evento load: ancora non esiste e già lo vuoi
far "abortire"?
Facendo così possono succedere cose strane, la più comune è un bell'errore
"Impossibile scaricare l'oggetto in questo contesto"
Ciao

 Screen.MousePointer = vbHourglass
prova a mettere un po' di doevents in giro, io ho fatto cosě.

Perdonami ma cosa e' quella cosa raccapricciante dello show nel load?????
oddio....

sinceramente mi pare assurdo ... pero' cimancherebbese lo dice la microzozz

 oddio....
Niente di strano, è un vecchio trucco consigliato persino dalla stessa
microsoft per fare sì che l'utente capisca che il programma sta partendo.
(MSDN: Optimizing Perceived Speed)
Ciao