7

C#:我想将诸如文件路径之类的消息传递给我的表单应用程序(如控制台应用程序),我该怎么做?

有人告诉我,我需要找到添加 string[] args 的主要方法,但我不知道 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

如果要访问命令行参数,请使用 Environment.CommandLine

string args = Environment.CommandLine;

无论您的代码中是否有带有 string[] args 的 main 方法,您都可以执行此操作。

于 2009-02-12T14:52:30.970 回答
2

有一个Main(),在里面Program.cs。但在 WinForms 应用程序Environment.GetCommandLineArgs()中将是一个更好的选择。

于 2009-02-12T14:52:46.243 回答
2

在您的公共构造函数中,使用以下内容:

字符串[] args = Environment.GetCommandLineArgs();

这将为您提供参数的字符串数组。

于 2009-02-12T14:52:48.507 回答