Bloccare form avvio

giovedì 08 settembre 2011 - 23.21

dupperelko Profilo | Junior Member

Ciao a tutti,
ho una applicazione winform vb.net.
In MyApplication_Startup ho il codice che gestisce se avviare il software (Form1.show) oppure no
(in pratica fa un controllo su dei file nascosti nel sistema e imposta un booleano).

Come Form di avvio sono obbligato a mettere Form1, altra scelta non ho.

Ma il programma mi parte sempre da form1. Come faccio a dire a form1 di non partire
se non passo i controlli in MyApplication_Startup?

quando passa i controlli trovo 2 form, una del form1.show che c'è se passo i controlli
e poi un altro form perché c'è in form d'avvio impostato.
se non passa i controlli, invece, ho solo un form che è quello del form d'avvio.


grazie

saluti

u235 Profilo | Junior Member

che??? scusami ma l'unica cosa che credo di aver capito è che devi fare dei controlli prima di avviare il form1, poi bho!
il form d'avvio (in caso di editing con visualstudio) è chiamato dalla classe Program nel Main(), quindi, se devi fare dei controlli prima che si avvii Form1, devi metterli li, mel main...

ciao.

dupperelko Profilo | Junior Member

si grazie... ma come fai a far partire il Main se nelle proprietà è impostato Form1 come form d'avvio?
grazie... io uso vs2008



ps il framework non voglio disabilitarlo

u235 Profilo | Junior Member

scusa, non avevo letto che si trattava di vb.
in vb, dentro il metodo che viene chiamato da startup, effettui i tuoi controlli e nel caso non vuoi far partire la tua applicazione usi il Cancel :

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

ovviamente non avviare nessun altro form1 li dentro, non serve, semplicemente se è tutto ok, continui, se no e.Cancel = True e l'applicazione si chiude.

P.S.
questo sarebbe il file ApplicationEvents.vb che puoi farlo "apparire" nella tua soluzione da : progetto -> proprietà di (tuo namespace) -> visualizza eventi applicazione

fulvio1981 Profilo | Newbie

scusate ho notato che impostare e.cancel=true nell'evento startup funziona correttamente solo se NON ho impostato alcuno splash screen nelle proprietà del progetto.
In caso contrario l'applicazione continua il caricamento dello splash screen, a meno che dopo e.cancel=true non metto application.exit
Qualcuno sa spiegarmi perchè?
grazie
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-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5