如何使用Winform应用程序的控制台?

时间:2010-04-21 21:00:09

标签: c#

假设我在Winform中有一些代码。我也想像这样输出到Console:

        Reader = command.ExecuteReader();
        while (Reader.Read())
        {
            string thisrow = "";
            for (int i = 0; i < Reader.FieldCount; i++)
                thisrow += Reader.GetValue(i).ToString() + ",";
            Console.WriteLine(thisrow);
        }
        connection.Close();

它没有崩溃,但我看不到任何控制台。为什么?

6 个答案:

答案 0 :(得分:3)

在Visual Studio中运行此代码时,它将转到“输出”窗口。如果你不这样做,它会进入比特桶。如果更改应用程序类型,它将进入控制台窗口。项目+属性,应用程序选项卡,输出类型=“控制台应用程序”。不完全有用。

答案 1 :(得分:2)

创建Windows(WinForm)应用程序时,您将看不到控制台。通常建议您创建一个控制台应用程序,然后构建附加到该应用程序的表单。问题是您必须异步运行表单才能正确更新表单。

我的建议是创建一个多行文本框并简单地打印到该文本框。如果您希望它看起来像一个控制台,请将背景设为黑色并带有白色文本,将文本框单独放入表单中。

答案 2 :(得分:2)

输出实际上是进入“控制台” - 你只是看不到控制台窗口。即如果您尝试从另一个程序读取程序的标准输出,您将看到打印到控制台的所有数据。如果您确实想要查看控制台窗口,请将应用程序更改为控制台应用程序。 (您仍然可以像在Windows应用程序中一样运行表单和所有内容。)

答案 3 :(得分:1)

为什么不将它输出到另一个Form上的ListBox控件中?结果将是相同的,除了不使用Console对象。

答案 4 :(得分:1)

您可以使用Trace类,并以自己创建的控制台窗口的形式定义自己的TraceListener。那里有很多帮助;只是谷歌“自定义tracelistener”。或者你可能会发现现有的免费赠品可以满足您的需求。

答案 5 :(得分:0)

如果要查看控制台输出,可以将项目设置为同时具有控制台窗口和可见窗体。

如果将项目设置为控制台应用程序,则会出现一个控制台窗口。然后在你的Main方法中放置:

public static void Main()
{
    Application.Run(new MyForm());
}

这将使控制台窗口保持打开状态,但也会启动表单,因此两者都可以同时显示。然后输出到控制台的任何内容都将出现在控制台窗口中。