C#将控制台args添加到WinForms应用程序

时间:2018-03-27 16:48:42

标签: c# winforms visual-studio console-application

我有一个Winforms应用, 我试图使它能够通过命令行运行某些方法而不显示表单。

它适用于命令行args,但现在它不会打开没有args的表单..

这是我的主要

static void Main(String[] args)
    {
        Form1 f = new Form1();
        if (args.Length > 0)
        {
            if (args[0] == "/s")
            {
                MessageBox.Show("Prepping Backup");
                Backup();
            }
        }
        else
        {
            try
            {
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                Application.Run(new Form1());
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                Logevent(e.ToString(), "warn", 25);
            }
        }

    }

1 个答案:

答案 0 :(得分:-1)

Application.SetCompatibleTextRenderingDefault(false);
在创建表单的第一个实例之前需要调用

。把它放在

之前
Form1 f = new Form1(); 

它将按预期工作。

修改 这将创建不必要的Form实例,因此另一个选项是删除 完全Form1 f = new Form1();