c# – 如何在表单应用程序中显示控制台输出/窗口?

要立即卡​​住,一个非常基本的例子:

using System;
using System.Windows.Forms;

class test
{ 
    static void Main()
    { 
        Console.WriteLine("test");
        MessageBox.Show("test");
    }
}

如果我编译这个与默认选项(使用csc在命令行),如预期,它将编译到控制台应用程序。另外,因为我导入System.Windows.Forms,它还会显示一个消息框。

现在,如果我使用选项/ target:winexe,我认为是从项目选项中选择Windows应用程序相同,如预期,我将只看到消息框,没有控制台输出。

(事实上​​,从命令行启动的那一刻,我可以在应用程序甚至完成之前发出下一个命令)。

所以,我的问题是 – 我知道你可以从控制台应用程序输出“窗口”/窗体,但无论如何,显示控制台从Windows应用程序?

最佳答案
这个应该工作。

using System.Runtime.InteropServices;

private void Form1_Load(object sender, EventArgs e)
{
    AllocConsole();
}

[DllImport("kernel32.dll", SetLastError = true)]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool AllocConsole();

转载注明原文:c# – 如何在表单应用程序中显示控制台输出/窗口? - 代码日志