Problemi chiusura form

giovedì 04 novembre 2004 - 16.11

AntonioM Profilo | Junior Member

salve a tutti, ho un problema con la chiusura di una form, mi spiego meglio.
ho creato un progetto che inzia con la visualizzazione di una splash form, che resta sullo
schermo per 2 secondi prima di passare il controlla ad una nuova form (MDI), una volta visualizzata la form MDI la splash form dovrebbe chiudersi, ma se uso l'istruzione

frm.show 'per visualizzare la form MDI
Me.Close 'per chiudere la splash form

mi si chiude tutto il progetto? Sapete dirmi come risolvere questo banalissimo problema?
Potete aiutarmi! grazie in anticipo.

Antonio

Andy Profilo | Senior Member

Ciao..ti succede perchè vede la tua splash form come Form principale del progetto, quindo chiudendola chiudi tutto il programma..per risolvere puoi impostare la tua 2nda form come form principale e quindi:

1) la nascondi, e crei la tua splash form; 2)visualizzi la splash form; 3)Chiudi la splash dopo 2 secondi e la distruggi; 4) mostri la tua form

Oppure come alternativa(meno valida ma fattibile) lasci la tua splash form come Form principale, ma non dovrai chiuderla, soltanto nasconderla e proseguire col resto del programma.

AntonioM Profilo | Junior Member

Grazie Mille!

alextyx Profilo | Expert

I consigli di Andy sono ottimi. Se avrai voglia e tempo, valuta anche che potresti partire dalla Sub Main e in quella mostrare la tua form e alla riga successiva lanciare la tua applicazione con argomento vuoto, il che significa che nn sarà legata alla sorte di alcun form e terminerà soltanto con l'istruzione application.exit. Diciamo che il tuo splash si chiami LOGIN e l'altro form FORM1
Crei un modulo e lo riempi così:

Module Module1

Public F1 As Form1
Public Log As Login

Sub Main()
Log = New Login
Log.Show()
Application.Run()
End Sub

End Module

Questa tecnica di dichiarazione dei Form nel modulo, consente anche di poterli accedere da qualunque punto dell'applicazione.

Ovviamente devi ricordarti di impostare 'sub main' come oggetto di avvio.

Per lanciare la FORM1 da codice, ti resta solo da istanziarla. Es.:
F1= New Form1
F1.show

Ciao.

AntonioM Profilo | Junior Member

Grazie alextyx! Avevo già risolto ma adotterò la soluzione che mi hai proposto tu, è migliore. Grazie ancora e buon lavoro!

Antonio
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5