2009-02-12 3 views
7

C#: Ich möchte Nachrichten wie einen Dateipfad an meine Formularanwendung wie eine Konsolenanwendung weiterleiten, wie würde ich das tun?C#: Ich möchte Nachrichten wie einen Dateipfad an meine Formularanwendung wie eine Konsolenanwendung weitergeben. Wie würde ich das tun?

Mir wurde gesagt, dass ich meine Hauptmethode finden musste, um string [] args hinzuzufügen, aber ich würde nicht wissen, welche in Windows Forms wäre. Was wäre meine Hauptmethode in C# Windows Forms-Anwendung?

Antwort

8

Ok, string [] args = Environment.GetCommandLineArgs() ist eine bessere Option. Aber ich werde die folgende Antwort als Alternative dazu behalten.

Suchen Sie nach einer Datei namens Program.cs den folgenden Code-Fragment, das ...

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()); 
    } 
} 

und ändern, dass zu

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()); 
    } 
} 

Zugriff dann die Befehlszeile args aus Ihrem Formular ...

Program.CommandLineArgs 
2

Wenn Sie den Zugriff auf die Befehlszeilenparameter zu erhalten, verwenden Environment.CommandLine

string args = Environment.CommandLine; 

Sie können dies tun, ob Sie eine main-Methode mit string [] args in Ihrem Code haben.

2

Es gibt eine Main(), die innerhalb Program.cs ist. Aber in WinForms App Environment.GetCommandLineArgs() wird eine bessere Option sein.

2

in Ihrem öffentlichen Konstruktor, verwenden Sie die folgenden Schritte aus:

string [] args = Environment.GetCommandLineArgs();

Dies gibt Ihnen eine Zeichenfolge Array der Argumente.

3

Ihre Main() Methode in Program.cs Datei befindet, typi Cally wie folgt aus:

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

Sie sollten die Main() der folgenden ändern:

static void Main(string[] args) 

Sie Zugriff auf die übergebenen Argumente haben werden.

Sie können auch auf die Argumente zugreifen, indem Sie Environment.GetCommandLineArgs()

verwenden
Verwandte Themen