Il Form deve essere "creato" in quanto oggetto per poter essere utilizzato, all'avvio dell'applicazione o quando serve.Originariamente inviato da vicky
Quindi poiché nelle impostazioni del mio progetto è previsto un main form e 7 form che si auto-creano (tra questi c'è anche il main form) vuol dire che poi non devo più utilizzare l'evento oncreate dei form secondari ma solo l'evento onshow perché i form sono già tutti creati quando parte l'applicazione e quindi quelle istruzioni non possono essere più eseguite?
Se il Form che viene visualizzato o nascosto non deve essere "reinizializzato" in qualche modo, ma è sufficiente che venga reso visibile o invisibile mantenendo il suo stato, tale stato va inizializzato al momento della creazione con OnCreate.
Il fatto che il Form sia visibile o meno è solamente una informazione sullo stato dell'oggetto, che non ha nulla di diverso rispetto all'essere blu o verde, per intenderci.
L'evento OnShow va definito se, ogni volta che il Form viene mostrato, è necessario che le informazioni al suo interno siano in qualche modo aggiornate rispetto all'ultima volta in cui era visibile; è chiaro però che, eseguendo istruzioni nel contesto dell'OnShow, la finestra impiega più tempo a visualizzarsi.
Infatti non c'era nessun problema nell'evento OnCreate, così come ce n'è uno nell'OnShow.Originariamente inviato da vicky
Anche se ho eliminato tutti gli eventi oncreate dei vari form secondari la situazione non è cambiata.
Riepilogo: se le informazioni che sono nella finestra non cambiano quando questa viene nascosta con Hide e poi mostrata di nuovo con Show, la sua inizializzazione deve essere effettuata una sola volta, nell'evento OnCreate. Se invece ogni volta che la finestra deve essere mostrata va aggiornata, quella logica va nell'evento OnShow, pena un certo ritardo nella visualizzazione se quel codice richiede tempo per essere eseguito.