控制台应用程序内的Windows窗体,反之亦然

时间:2018-03-13 00:17:38

标签: c#

我已将此任务交给我,并且不知道如何处理它。网上任何地方都说没有.dll或嘲笑这是不可能的。

  

服务器在使用-w参数启动时应打开一个窗口化界面   允许操作员控制服务器的功能。如果启动时没有参数   应按照第1部分中的规定进行操作

(第1部分是控制台应用程序) 我不知道我是否遗漏了一些明显的东西。 感谢您提供任何帮助

2 个答案:

答案 0 :(得分:0)

我不知道你在网上看到的这是不可能的。每个Windows窗体应用程序都有一个Main方法,您只需稍微修改一下。

[STAThread]
static void Main(string[] args)
{
    if (args.Length > 0)
    {
        File.WriteAllText("hello.txt", "foo");
    }
    else
    {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        Application.Run(new Form1());
    }
}

我添加了string[] args参数,然后检查它。我没有检查-w,我只是检查任何旧的参数,但你应该可以从那里拿走它。

答案 1 :(得分:-1)

这绝对不是不可能的。只需添加对System.Windows.Forms的引用,将其添加到using子句中,然后从此处开始。

using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Linq;

namespace ConsoleWindow
{
    class Program
    {
        static void Main(string[] args)
        {
            if (args.Contains("-w"))
            {
                Form1 f1 = new Form1();
                f1.ShowDialog();
            }
            Console.ReadKey();
        }
    }
}