C#-是否可以创建一个Windows窗体应用程序,该应用程序可以使用参数从命令行运行?
我想要一个包含UI的Windows窗体应用程序,但我希望它在命令行中运行时带有一些参数,可能还有一个C#-是否可以创建一个Windows窗体应用程序,该应用程序可以使用参数从命令行运行?,c#,winforms,command-line,C#,Winforms,Command Line,我想要一个包含UI的Windows窗体应用程序,但我希望它在命令行中运行时带有一些参数,可能还有一个/hide或/visible=false选项 如何读取命令行参数?并进行相应调整?如果更改此默认主签名,请使用: [STAThread] static void Main() 为此: [STAThread] static void Main(String[] args) 您可以像从普通控制台应用程序一样访问命令行变量,或者如果您想从其他地方访问它们,可以使用: System.Environme
/hide
或/visible=false
选项
如何读取命令行参数?并进行相应调整?如果更改此默认主签名,请使用:
[STAThread]
static void Main()
为此:
[STAThread]
static void Main(String[] args)
您可以像从普通控制台应用程序一样访问命令行变量,或者如果您想从其他地方访问它们,可以使用:
System.Environment.GetCommandLineArgs();
是的,它可以将项目创建为普通windows应用程序项目。然后在program.cs中,在启动窗口之前,调用
Environment.GetCommandLineArgs()
,获取命令行参数并解析它们以执行所需操作。Hah,第一种方法就是我不久前在给朋友的解释中使用的方法+1+1回答问题的第二部分。WriteLine末尾缺少一个括号(.此外,我认为你不能像在windows窗体应用程序中那样写入控制台。你是对的,你不能将console.WriteLine写入Winforms应用程序。我的回答是,你不需要创建Windforms应用程序,你可以创建一个可执行文件,它将作为窗体或命令行运行,具体取决于调用方式。我刚刚测试了t他没有为文本打开commandwindow,我认为它缺少启动comamndline窗口的命令。@Eric,很好的捕获;连接到StdOut的一个示例是。Console.WriteLine对于这样一个短的代码片段来说可能是一个不好的示例。
[STAThread]
static void Main(string[] args)
{
if (args.Length == 0)
{
// Run the application in a windows form
Application.Run(new MainForm( ));
}
else
{
// Run app from CLI
Console.WriteLine(DoStuff(args));
}
}