7

C#: コンソール アプリケーションのようなフォーム アプリケーションにファイル パスなどのメッセージを渡したいのですが、どうすればよいですか?

string[] 引数を追加するメイン メソッドを見つける必要があると言われましたが、どれが Windows フォームにあるのかわかりませんでした。私の主な方法は、C# Windows フォーム アプリケーションではどれですか?

4

5 に答える 5

8

わかりました、 string[] args = Environment.GetCommandLineArgs() はより良いオプションです。しかし、私はそれに代わるものとして次の答えを保持します。

次のコード フラグメントを含む Program.cs というファイルを探します...

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

それをに変更します

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

次に、フォームからコマンドライン引数にアクセスします...

Program.CommandLineArgs
于 2009-02-12T14:55:00.170 に答える
3

メソッドMain()Program.cs通常、次のようにファイルにあります。

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

Main()を次のように変更する必要があります。

static void Main(string[] args)

渡された引数にアクセスできます。

また、次を使用して引数にアクセスできますEnvironment.GetCommandLineArgs()

于 2009-02-12T14:56:21.600 に答える
2

パブリック コンストラクターでは、次を使用します。

string[] args = Environment.GetCommandLineArgs();

これにより、引数の文字列配列が得られます。

于 2009-02-12T14:52:48.507 に答える
2

コマンド ライン パラメーターにアクセスする場合は、Environment.CommandLine を使用します。

string args = Environment.CommandLine;

これは、コードに string[] 引数を含むメイン メソッドがあるかどうかに関係なく実行できます。

于 2009-02-12T14:52:30.970 に答える
2

Main()中に1 つありProgram.csます。ただし、WinForms アプリEnvironment.GetCommandLineArgs()では、より適切なオプションになります。

于 2009-02-12T14:52:46.243 に答える