C#: コンソール アプリケーションのようなフォーム アプリケーションにファイル パスなどのメッセージを渡したいのですが、どうすればよいですか?
string[] 引数を追加するメイン メソッドを見つける必要があると言われましたが、どれが Windows フォームにあるのかわかりませんでした。私の主な方法は、C# Windows フォーム アプリケーションではどれですか?
C#: コンソール アプリケーションのようなフォーム アプリケーションにファイル パスなどのメッセージを渡したいのですが、どうすればよいですか?
string[] 引数を追加するメイン メソッドを見つける必要があると言われましたが、どれが Windows フォームにあるのかわかりませんでした。私の主な方法は、C# Windows フォーム アプリケーションではどれですか?
わかりました、 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
メソッドMain()
はProgram.cs
通常、次のようにファイルにあります。
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
Main()
を次のように変更する必要があります。
static void Main(string[] args)
渡された引数にアクセスできます。
また、次を使用して引数にアクセスできますEnvironment.GetCommandLineArgs()
パブリック コンストラクターでは、次を使用します。
string[] args = Environment.GetCommandLineArgs();
これにより、引数の文字列配列が得られます。
コマンド ライン パラメーターにアクセスする場合は、Environment.CommandLine を使用します。
string args = Environment.CommandLine;
これは、コードに string[] 引数を含むメイン メソッドがあるかどうかに関係なく実行できます。
Main()
中に1 つありProgram.cs
ます。ただし、WinForms アプリEnvironment.GetCommandLineArgs()
では、より適切なオプションになります。