控制台应用程序中的winform

时间:2012-03-23 15:14:22

标签: winforms c#-4.0 console-application

我有一个控制台应用程序,它也可以在某些条件下打开winform。处理(它是一个数据库导出实用程序),可以通过表单或命令行完成。但表单始终与命令提示符相关联。我的意思是当我关闭控制台时,窗体也会关闭。我的要求是当窗体启动时,命令提示符会自动关闭而不关闭窗体。

  [STAThread]
    public static void Main(string[] args)
    {

         if(hastolaunchform)
          {
                  Application.Run(new Form1());
           }

         else
           {
                       Console.WriteLine("started");
                        try
                        {
                            dataclass.extract();
                            console.writeline("finish");
                        }
                        catch (Exception e)
                        {

                            Console.WriteLine("An error occur");
                        }
             }

         }

1 个答案:

答案 0 :(得分:1)

你在这里拥有一个gui 没有的应用程序。

你需要的是它的一个gui版本,可以选择从CLI运行,即它需要是另一个exe,或者具有不同命令行参数的相同exe,但要小心,否则它可能只是保持启动另一个版本,直到Windows死亡。

至少我认为这就是你所要求的。

CLI参数

MyApp.Exe --GUI

- GUI将在args [1]中出现。

类似

if (args.Contains["--GUI"])
{
   Application.Run(new Form1());
}
else
{
  if (hastolaunchForm)
  {
     // use Process.start to run another version of your app with --GUI parameter
     // and close
  }
  else
  {
     // do console stuff.
  }
  }
}