【问题标题】:How do I get arguments in a form application?如何在表单应用程序中获取参数?
【发布时间】:2010-11-17 12:09:12
【问题描述】:

我可以找到很多关于如何在控制台应用程序中获取参数的示例,但我似乎找不到如何在 Windows 窗体应用程序中获取参数的示例。

我想关注一些事情。

  1. 每当我打开 jpg 文件时,Windows 都会启动我的应用程序。
  2. 我想知道我的应用程序中 jpg 文件的路径和名称。

我该怎么做?

【问题讨论】:

    标签: c# arguments


    【解决方案1】:

    【讨论】:

    • 比我的方法更干净一点,我找不到任何负面的东西。为简单起见,您可能希望使用它
    • 嗯,我不同意这比使用方法参数更干净。后者为您提供了一个固定点来决定应用程序在启动时的行为方式,而不是在某个任意位置解析命令行。
    • 我尝试使用 Microsoft 的这个示例,但是,当应用程序打开时,我什么也没得到。没有争论。也就是说,我没有从命令行打开它,而是从资源管理器中打开它,方法是双击文件。
    • 这是设计使然。从 Windows 资源管理器打开程序不会发送任何命令行参数。
    【解决方案2】:

    打开program.cs,在一个文件>新建>winform项目,你会得到

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

    把它改成

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

    现在它就像控制台应用程序一样,您可以通过 args 访问它们。

    即使您不使用此选项,您也应该了解 win 表单应用程序是如何初始化的 :) 这样,您可以运行不同的表单或根本不运行表单。

    【讨论】:

      猜你喜欢
      • 2011-06-14
      • 2016-07-11
      • 2011-01-17
      • 1970-01-01
      • 2013-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-12
      相关资源
      最近更新 更多