【问题标题】:Windows form inside console application or vice versa [duplicate]控制台应用程序内的 Windows 窗体,反之亦然 [重复]
【发布时间】:2018-03-13 00:17:38
【问题描述】:

我有这个任务,但不知道如何处理它。网上到处都说没有 .dll 或模拟是不可能的。

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

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

【问题讨论】:

  • 控制台应用程序是否可以检查-w,如果找到,启动第二个应用程序?

标签: c#


【解决方案1】:

我不知道您在网上哪里看到这是不可能的。每个 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,我只是在检查任何旧参数,但你应该可以从那里得到它。

【讨论】:

    【解决方案2】:

    这绝对不是不可能的。只需添加对 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();
            }
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-03
      • 2010-11-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多