假设我在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();
它没有崩溃,但我看不到任何控制台。为什么?
答案 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());
}
这将使控制台窗口保持打开状态,但也会启动表单,因此两者都可以同时显示。然后输出到控制台的任何内容都将出现在控制台窗口中。