【问题标题】:windows form .. console.writeline() where is console?windows form .. console.writeline() 控制台在哪里?
【发布时间】:2011-08-08 01:58:15
【问题描述】:

我创建了一个 Windows 窗体解决方案,并在我调用的类的构造函数中

Console.WriteLine("constructer called")

但我只得到了表单而不是控制台.. 那么输出在哪里?

【问题讨论】:

  • 或者如果您从控制台启动 exe 并且不想将您的应用清单更改为控制台应用,这里是真正的解决方案:nerdyhearn.com/blog/157

标签: c# .net winforms console-application


【解决方案1】:

您还应该考虑使用Debug.WriteLine,这可能就是您要找的。这些语句是为您的应用程序写出跟踪侦听器的,可以在Output Window of Visual Studio 中查看。

Debug.WriteLine("constructor fired");

【讨论】:

  • 我一直在尝试这个,但是除了通常的构建开始构建成功的东西之外,输出窗口中什么都没有显示。
  • @KyleDelaney 您是否使用下拉菜单从“构建”输出切换到“调试”输出?
  • @Mr.TA - 我不知道,那是 4 年前的事了
【解决方案2】:

在项目设置中将应用程序类型设置为控制台。然后你会得到控制台窗口和Windows窗体。

【讨论】:

    【解决方案3】:

    如果您在 Visual Studio 中运行应用程序,您可以在输出窗口中看到控制台输出。

    调试 -> 窗口 -> 输出

    请注意,从 WinForms 应用程序输出诊断数据的最佳方式是使用 System.Diagnostics.Debug.WriteLineSystem.Diagnostics.Trace.WriteLine,因为它们更可配置您想要输出的方式和位置。

    【讨论】:

    • 如何配置输出的方式和位置?我已经进入调试选项窗口,在调试 > 输出窗口 > 常规输出设置下,“所有调试输出”设置为“开”,我仍然无法使用这些在输出窗口中显示任何内容方法。
    【解决方案4】:

    正如其他答案所述,System.Diagnostics.Debug.WriteLine 是调试消息的正确调用。但要回答你的问题:

    从 Winforms 应用程序中,您可以调用控制台窗口进行如下交互:

    using System.Runtime.InteropServices;
    
    ...
    
    void MyConsoleHandler()
    {
        if (AllocConsole())
        {
            Console.Out.WriteLine("Input some text here: ");
            string UserInput = Console.In.ReadLine();
    
            FreeConsole();
        }
    }
    
    
    [DllImport("kernel32.dll", SetLastError = true)]
    [return: MarshalAs(UnmanagedType.Bool)]
    static extern bool AllocConsole();
    
    [DllImport("kernel32.dll", SetLastError = true)]
    [return: MarshalAs(UnmanagedType.Bool)]
    static extern bool FreeConsole();
    

    当打开某些开关时,我有时会使用它来引发命令提示符而不是应用程序窗口。

    如果有人需要,在这个类似的问题中还有一些想法:
    What is the Purpose of Console.WriteLine() in Winforms

    【讨论】:

    • 这正是我一直在寻找的。非常感谢您发布此内容,即使没有人特别要求。
    猜你喜欢
    • 2013-12-06
    • 2012-01-11
    • 2022-11-20
    • 1970-01-01
    • 1970-01-01
    • 2010-11-05
    • 2014-03-05
    • 2012-05-26
    • 2010-09-08
    相关资源
    最近更新 更多