C# argomento /setup forms

lunedì 31 maggio 2010 - 22.22

Anonimo Profilo | Senior Member

Salve, è possibile creare una form che viene sola aperta da quando uno lancia il programma "mioprogramma.exe /setup",
e quando trova l'argomento setup, mi si apre la form setup, invece se non viene passati, viene fuori la main.form principale?

Si può fare?

Grazie.

freeteo Profilo | Guru

Ciao,
certo, ti basta controllare nel main se ti viene passato quel parametro ed avviare la form (solo quella o prima quella e poi un'altra form):

[STAThread] static void Main(string[] args) { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); if (args != null && args.Length > 0) { switch (args[0].ToUpper()) { case "SETUP": case "/SETUP": FormSetup f = new FormSetup(); f.ShowDialog(); //--- oppure se vuoi lanciare solo quella //Application.Run(f); //return; break; default: break; } } //--- lancio la form principale Application.Run(new MainForm()); } }

Ciao.

Matteo Raumer
[MCAD .net, MVP Visual C#]
http://blogs.dotnethell.it/freeteo

Anonimo Profilo | Senior Member

grazie mille.

freeteo Profilo | Guru

>grazie mille.
di niente, siamo qui per questo.
La cosa che trae in inganno in questo è il fatto che la firma di default della Main (Entry Point dell'applicazione) quando la genera visual studio è senza argomenti...ma di fatto basta metterli (come array di stringhe) ed è chiamata così sempre, così se ti serve analizzarli ce li hai...

Ciao.

Matteo Raumer
[MCAD .net, MVP Visual C#]
http://blogs.dotnethell.it/freeteo

AntCiar Profilo | Expert

Ciao.

Giusto per completezza, nel Framework esiste la classe Environment che tramite il metodo seguente restituisce una matrice di stringhe contenente direttamente i parametri passati all'avvio

system.Environment.GetCommandLineArgs()
Cristian Barca
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