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

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

要立即陷入困境,这是一个非常基本的例子:

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

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

现在,如果我使用该选项/target:winexe,我认为Windows Application与在项目选项中选择相同,正如预期的那样,我只会看到消息框而没有控制台输出。

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

所以,我的问题是 - 我知道你可以从控制台应用程序获得“windows”/表单输出,但是无论如何从Windows应用程序显示控制台?



繁星点点滴滴
浏览 930回答 3
3回答

幕布斯6054654

这一个应该工作。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();

森林海

也许这过于简单......创建Windows窗体项目...然后:项目属性 - >应用程序 - >输出类型 - >控制台应用程序然后可以让Console和Forms一起运行,对我有用

慕沐林林

如果您不担心打开控制台on-command,可以进入项目的属性并将其更改为Console Application这仍然会显示您的表单以及弹出控制台窗口。您无法关闭控制台窗口,但它可以作为调试的优秀临时记录器。只需记住在部署程序之前将其关闭。
打开App,查看更多内容
随时随地看视频慕课网APP