Console.WriteLine不显示在输出窗口中

我已经把一些Console.WriteLine调用来testing,但他们没有出现在输出框?

 public static ArrayList myDeliveries = new ArrayList(); public mainForm(){ InitializeComponent(); } private void mainForm_Load(object sender, EventArgs e){ if (!File.Exists("../../MealDeliveries.txt")){ MessageBox.Show("File not found!"); return; } using (StreamReader sr = new StreamReader("../../MealDeliveries.txt")){ //first line is delivery name string strDeliveryName = sr.ReadLine(); Console.WriteLine("Test content"); while (strDeliveryName != null){ //other lines Delivery d = new Delivery( strDeliveryName, sr.ReadLine(), sr.ReadLine(), sr.ReadLine(), sr.ReadLine(), sr.ReadLine(), sr.ReadLine() ); mainForm.myDeliveries.Add(d); //check for further values strDeliveryName = sr.ReadLine(); } } displayDeliveries(); } private void displayDeliveries(){ lstDeliveryDetails.Items.Clear(); Console.WriteLine("Test content"); Console.WriteLine(mainForm.myDeliveries.Count); foreach (Delivery d in mainForm.myDeliveries){ lstDeliveryDetails.Items.Add(d.DeliveryName); } } 

谁能帮忙?

如果您打算在生产中使用此输出,请使用Trace类成员。 这使得代码可移植,您可以连接不同types的监听器,并输出到控制台窗口,debugging窗口,日志文件或任何你喜欢的东西。

如果这只是一些临时debugging代码,用于validation某些代码是否正在执行或具有正确的值,那么请按照Zach的build议使用Debug类。

如果您绝对必须使用控制台,则可以在程序的Main方法中附加一个控制台 。

Console输出到控制台窗口和Winforms应用程序不显示控制台窗口。 您应该可以使用System.Diagnostics.Debug.WriteLine将输出发送到IDE中的输出窗口。

编辑:关于这个问题,你有没有validation你的mainForm_Load实际上被称为? 您可以在mainForm_Load的开头放置一个断点来查看。 如果它没有被调用,我怀疑mainForm_Load没有挂钩到Load事件。

另外,覆盖On{EventName}而不是从派生类内部( {EventName}在你的情况下覆盖OnLoad而不是Load {EventName}订阅{EventName}效率更高。

如果您希望Console.WriteLine("example text")输出显示在“debugging输出”窗口中,请暂时将“应用程序的输出”types从“控制台应用程序”更改为“Windows应用程序”。

在菜单中selectProject + Properties,然后导航到Output type:下拉菜单,切换到Windows Application,然后运行你的应用程序

当然,您应该将它改回来构build一个IDE以外的控制台应用程序。

(使用Visual Studio 2008和2010进行testing,期望它也能在后面的版本中运行)

如果您正在开发命令行应用程序,则还可以在代码末尾使用Console.ReadLine() ,以在closures控制台窗口之前等待“Enter”按键,以便读取输出。 但是,上面列出的跟踪和debugging答案都是更好的select。