2010-04-21 101 views
0

假设我在Winform中有一些代码。我也想输出到控制台是这样的:如何在Winform应用程序中使用控制台?

 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(); 

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

回答

2

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

+0

好的,谢谢你会尝试。 – user310291 2010-04-21 21:47:30

1

为什么不直接输出到另一个窗体上的ListBox控件?结果将是相同的,除非不使用控制台对象。

3

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

2

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

我的建议是创建一个多行文本框,并简单地打印。如果你想让它看起来像一个控制台,用白色文本使背景变黑,将文本框本身放到一个表单中。

+0

我真的想要一个控制台用于其他一些目的:) – user310291 2010-04-21 21:48:04

1

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

+0

似乎过分的我想做的事情,但可能是有用的一些其他上下文感谢。 – user310291 2010-04-21 21:46:46

0

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

如果您将项目设置为控制台应用程序,将出现控制台窗口。然后在您的Main方法提出:

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

这将使控制台窗口打开,但启动的形式一样,所以两者在同一时间可见。然后,任何输出到控制台的内容都将显示在控制台窗口中。

相关问题