SplashScreen che rimane visibile; come distruggerla ?

giovedì 02 luglio 2009 - 18.19

ravalon Profilo | Expert

Salve,

in un mio progetto fatto con VB.NET 2005 ho inserito una splashscreen con l'intento di mostrare alcuni dettagli del progetto durante il caricamento della form principale...

Ora...dopo la splashscreen viene caricata la form principale ma talvolta succede che la splashscreen rimane visibile al centro dello schermo fino a che non clicco col mouse in una zona al di fuori di essa....allora sparisce, però mi occulta la vista di un'altra form che sta al centro...

Come posso evitare questo ??

Inoltre....mi piaceva che lo splashscreen fosse visibile solo per il tempo necessario a caricare il resto....c'è un modo per fare cio' ?

Grazie a tutto lo splendido forum del sito

Jeremy Profilo | Guru

Ciao Stefano.
Hai impostato correttamente nelle proprietà di progetto .... l'oggetto di avvio e la schermata iniziale???
Se si (o se no) ... puoi entrare un pò più nel dettaglio di come gestisci al momento l'apertura e la chiusa dei due form??

Facci sapere...
ciao

ravalon Profilo | Expert

Ciao e grazie per la risposta....

nelle proprietà del progetto, alla scheda APPLICATION ho come startup form ho la mia form principale....e alla voce splashscreen ho indicato l'unico form splash che ho...

La gestione è pressochè nulla nel senso che quando parte il progetto punta a caricare la form principale e dopo un po' va via da se la splashscreen, tranne come dicevo alcune volte ed è fastidioso...

posso fornire il codice della splash....non so se è utile....tra l'altro non dovendo fare grandi cose l'ho pressochè lasciata cosi come l'ho copiata da internet.

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Jeremy Profilo | Guru

Ciao Stefano.
Scusa ... ma ti faccio un'altra domanda .... per caso esegui qualche operazione nell'evento Load del frmMain??

Perchè altrimenti, il comportamento è strano ... in una condizione normale, dopo un tot tempo dovrebbe sparire il frmSlash e comparire il FrmMain senza nessun problema di questo tipo.

facci sapere...
Ciao

ravalon Profilo | Expert

Certo, nel form_load della form principale eseguo del codice...

Carico dei dati da un file XML, verifico la presenza di un DB , carico un'altra form a scelta obbligatoria....cioè modale richiamata cosi....

frmScegliSettore.ShowDialog()

Solo ora mi viene in mente che questo potrebbe essere il motivo per cui la splash non va via....

Solo che se tento di distruggerla manualmente (la splash) mi da sempre errore

Operazione cross-thread non valida...

in sostanza ti mostro il codice della LOAD della form principale...

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Jeremy Profilo | Guru

Ciao Stefano.
>Solo ora mi viene in mente che questo potrebbe essere il motivo
>per cui la splash non va via....
Potrebbe essere???? E' il problema.

>Solo che se tento di distruggerla manualmente (la splash) mi
>da sempre errore
Non serve distruggerla

Se proprio non puoi evitare di mostrare il frmScegliSettore in modale .... prova a spostare il codice nella gestione dell'evento Shown del Form .... altrimenti, vediamo di trovare un'altra alternativa.

Facci sapere...
Ciao

ravalon Profilo | Expert

non posso evitarlo perchè è obbligatorio che si scelga un settore.....

scusa non ho capito quale pezzo di codice dovrei spostare e dove....

Jeremy Profilo | Guru

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Facci sapere...
Ciao

ravalon Profilo | Expert

Ho messo il caricamento della finestra modale sull'evento shown (che non avevo mai usato)....

...per ora sembra funzionare....grazie mille !
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