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。