如何获取表单程序的参数?

Posted

技术标签:

【中文标题】如何获取表单程序的参数?【英文标题】:How can I get args of Form program? 【发布时间】:2011-06-14 09:21:20 【问题描述】:

在控制台应用程序中我可以使用args[] 但是表单应用程序呢?

【问题讨论】:

【参考方案1】:

当您在 C# 中创建 WinForm 应用程序时,编辑器会为您创建一个 Program.cs 文件。这是 main 所在的位置,也是参数可用的位置。

由于缺乏更好的术语,这有点 IDE“魔法”。仍然有一个“主要”功能,它只是启动您的主要表单的一个实例以及您需要的任何其他内容。打开该文件并查看。

【讨论】:

【参考方案2】:

您需要更改表单构造函数以接受 args 参数。

例如:

public void Form1(string[] args)



【讨论】:

stefan 的回答也是正确的。您是否将 args 传递给应用程序或表单? 接受 args 的是 Main()-entry,而不是 Form。【参考方案3】:

一种简单的方法:

string[] args = Environment.GetCommandLineArgs();

或者,您可以更改 Main-call 以包含参数(在 Program.cs 中):

static void Main(string[] args)

然后您需要将其传递到您的表单中,并相应地更改表单的构造函数(假设您需要args):

public Form1(string[] args)

【讨论】:

第一个效果很好!我还发现最好检测它是否有超过 1 个参数,然后在索引 1 处获取一个。 太棒了。 :) 我经常使用 Nini 进行配置读取和命令行解析:nini.sourceforge.net 看起来很有趣 :) 好像它已经死了,更新是在 2010 年... :/ 没错,但它仍然很好用(到目前为止我还没有找到任何好的替代品)。也有人在 NuGet 中放了一份副本。

以上是关于如何获取表单程序的参数?的主要内容,如果未能解决你的问题,请参考以下文章

.NET 关于一般处理程序获取表单传递的参数的问题

java程序如何获取POST方式提交的数据?

如何在没有表单的情况下获取文件上传

iframe 表单参数获取不到

ajax 多个参数问题,如何既能表单序列化获取,又能加参数,加全部代码

java web 如何防止 用户绕过js验证,直接地址栏提交表单或自己编写html页面,提交数据到服务器?