2009-02-12 10 views
7

C#: voglio passare messaggi come un percorso file alla mia applicazione di moduli come un'applicazione di console, come dovrei farlo?C#: voglio passare messaggi come un percorso file alla mia applicazione di moduli come un'applicazione di console, come dovrei farlo?

Mi è stato detto che avevo bisogno di trovare il mio metodo principale per aggiungere string [] args, ma non saprei quale sarebbe in Windows Forms. Quale sarebbe il mio metodo principale per l'applicazione dei moduli Windows C#?

risposta

8

Ok, string [] args = Environment.GetCommandLineArgs() è un'opzione migliore. Ma terrò la seguente risposta come alternativa ad essa.

Cercare un file chiamato Program.cs che contengono il seguente frammento di codice ...

static class Program 
{ 
    /// <summary> 
    /// The main entry point for the application. 
    /// </summary> 
    [STAThread] 
    static void Main() 
    { 
     Application.EnableVisualStyles(); 
     Application.SetCompatibleTextRenderingDefault(false); 
     Application.Run(new Form1()); 
    } 
} 

e cambiare la situazione a

static class Program 
{ 

    public static string[] CommandLineArgs { get; private set;} 

    /// <summary> 
    /// The main entry point for the application. 
    /// </summary> 
    [STAThread] 
    static void Main(string[] args) 
    { 
     CommandLineArgs = args; 
     Application.EnableVisualStyles(); 
     Application.SetCompatibleTextRenderingDefault(false); 
     Application.Run(new Form1()); 
    } 
} 

quindi accedere alla argomenti della riga di comando dal modulo ...

Program.CommandLineArgs 
2

Se si desidera ottenere l'accesso ai parametri della riga di comando, utilizzare Environment.CommandLine

string args = Environment.CommandLine; 

È possibile farlo se non si dispone di un metodo principale con string [] args nel codice.

2

C'è uno Main(), che si trova all'interno di Program.cs. Ma nell'app WinForms Environment.GetCommandLineArgs() sarà un'opzione migliore.

2

nel costruttore pubblica, utilizzare il seguente:

string [] args = Environment.GetCommandLineArgs();

questo fornirà una matrice di stringhe degli argomenti.

3

Il tuo metodo Main() si trova nel file di Program.cs, typi Cally in questo modo:

[STAThread] 
static void Main() 
{ 
    Application.EnableVisualStyles(); 
    Application.SetCompatibleTextRenderingDefault(false); 
    Application.Run(new Form1()); 
} 

è necessario modificare il Main() al seguente:

static void Main(string[] args) 

Avrai accesso agli argomenti passati.

Inoltre, è possibile accedere agli argomenti utilizzando Environment.GetCommandLineArgs()

Problemi correlati