Newsgroup: it.comp.lang.visual-basic
Titolo: Chiusura form dopo SplashScreen

Ciao a tutti,
 
in un progetto VB 2005 Express ho questo problema :
 
1° Form è Home
Utilizzo di SplashScreen
Utilizzo di un file .ini
 
Su load di Home ho questo codice :
 
Me.VediTaskBar.Checked = IniRead("C:\" & NomeApp & " setting.ini", "Home", "TaskBar")
 
           If VediTaskBar.Checked = True Then
                Me.NotifyIcon1.Text = NomeApp               
                Me.NotifyIcon1.BalloonTipText = NomeApp     
                Me.NotifyIcon1.BalloonTipTitle = "VB 2005"  
                Me.NotifyIcon1.Visible = True               
                Me.ShowInTaskbar = True                     
                Me.Visible = True
            ElseIf VediTaskBar.Checked = False Then
                Me.NotifyIcon1.Text = NomeApp               
                Me.NotifyIcon1.BalloonTipText = NomeApp     
                Me.NotifyIcon1.BalloonTipTitle = "VB 2005"  
                Me.NotifyIcon1.Visible = True                
                Me.ShowInTaskbar = False                   
                Me.Visible = False                          
            End If
 
Nelle opzioni applicazione di My Project ho così impostato :
 
Form di avvio : SplashScreen
Schermata iniziale : Nessuno
Modalità arresto : Alla chiusura dell'ultimo form
 
Infine nella SplashScreen ho questo :
 
            Home.Show()
            Me.Close()
 
 
Il problema è questo :
 
Se ShowInTaskBar = False dopo la Splash mi si apre Home senza problemi
Se invece ShowInTaskBar = True dopo la Splash si chiude l'applicazione!
 
Non ne vengo a capo, cosa può essere?
grazie
Marco
 
 

 Non ne vengo a capo, cosa pu� essere?
 
 
per me senza provare il codice (quindi con beneficio di inventario)
se lui entra nell'ElseIf (quello che ti ho lasciato quotato sopra)
si trova alla fine con un Me.Visible=False
 
e quindi semplicemente non � visibile
 
ciao, Jasmine

 ciao, Jasmine
 
Non è così..
Hide non è close quindi si vedrebbe l'icona nella barra dell'orologio
A parte questo, lo vedo già da "Avvia debug", con taskbar = True interrompe il debug!

 A parte questo, lo vedo già da "Avvia debug", con taskbar = True interrompe il debug!
 
in attesa che ti risponda qualcuno piu' preparato...le provo tutte
 
potrebbe essere semplicemente questo
in
Me.VediTaskBar.Checked = IniRead("C:\" & NomeApp & " setting.ini", 
"Home", "TaskBar")
 
hai IniRead ecc
 
se Me.VediTaskBar.Checked=false
non hai piu' quel contenuto li' dentro: quindi di fatto
non hai niente e il debug si interrompe
 
ciao, Jasmine

 non hai niente e il debug si interrompe
 
ops: no è una scemenza!
Sorry,adesso sono curiosa di vedere cosa ti rispondono.
 
Ciao, Jasmine


Scusami, non ho capito il senso del tuo discorso..
se dal file ini legge True o False imposta la CheckBox e di conseguenza il ShowTaskBar all'avvio del form.
Comunque è il True che interrompe, non fil False
 


spero che qualcun altro abbia una risposta in merito perchè devo risolvere sta cosa..

 spero che qualcun altro abbia una risposta in merito perchè devo risolvere sta cosa..
 
anch'io... purtroppo non posso aiutarti :(
 
 
ciao, Jasmine


Grazie comunque
ciao
Marco

Mah, strano.
Due "cavolate", che pero' a volte possono sfuggire.
Se imposti la Checked a True, sei sicuro sicuro che il programma si chiuda 
(quindi VB2005 si rimette "a riposo")?
Hai dato una icona a Me.NotifyIcon1 ?
Te lo chiedo perche' se per caso non hai impostato l'icona della NotifyIcon, 
cosi' come hai scritto il codice, se la check e' true, la form si nasconde, 
la NotifyIcon viene "visualizzata", ma senza icona, cioe' in pratica non 
vedi nulla :-) , pero' VB resta in runtime, e per chiudere il programma devi 
cliccare sul tastino "Stop"
Se e' come penso io, risolvi e poi parliamo di quel blocco If - ElseIf che 
hai scritto :-)
 


Forse ho risolto!
Ho aggiunto Me.Visible = False prima di Me.Show nel codice If VediTaskBar.Checked = True Then
Non so perchè ma sembra andare bene, ora faccio qualche test
Marco

Il giorno giovedì 31 maggio 2012 15:04:03 UTC+2, vbMizio ha scritto:

Forse ho risolto proprio in questo istante!!
Ho messo Me.Visible = False prima di Me.Show in if VediTaskBar.Checked = True
Non so il motivo ma sembra funzionare, ora faccio qualche test..
Marco

VediTaskBar.Checked = True Then
....
Nel codice che hai postato all'inizio, non c'era nessun Me.Show
Cmq. non hai risposto alle due domandine che ti avevo fatto
 


Scusa ero di fretta per finire le prove sull'applicazione
Il Me.Show probabilmente l'ho aggiunto mentre provavo in attesa di risposte dal forum.
Per quanto riguarda le tue domande, sì l' icona c'è e funziona
Il Checked = True mi dava effettivamente il problem, interrompeva tutto il debug infatti il pulsante di stop tornava grigio e riavevo in verde quello di play per cui vuol dire che tutto era fermo..
Confermo ancora che il codice ora è ok, alcuni ritocchi e sono a posto
grazie
Marco