Консоль. WriteLine не обнаруживается в Окне вывода

Я поместил некоторых Console.WriteLine призывает для тестирования, но они не появляются в окне для вывода?

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

    }
}

Кто-либо может помочь??

77
задан sark9012 27 June 2017 в 08:48
поделиться

2 ответа

Если вы собираетесь использовать этот вывод в производственной среде, используйте члены класса Trace . Это делает код переносимым, вы можете подключать различные типы слушателей и выводить их в окно консоли, окно отладки, файл журнала или что угодно еще.

Если это всего лишь временный код отладки, который вы используете для проверки того, что определенный код выполняется или имеет правильные значения, тогда используйте класс Debug , как предлагает Зак .

Если вам абсолютно необходимо использовать консоль, вы можете подключить консоль в методе программы Main .

49
ответ дан 24 November 2019 в 10:54
поделиться

Консоль выводит в окно консоли, а приложения Winforms не отображают окно консоли. У вас должна быть возможность использовать System.Diagnostics.Debug.WriteLine для отправки вывода в окно вывода в вашей среде IDE.

Изменить: Что касается проблемы, вы подтвердили, что ваш mainForm_Load действительно вызывается? Вы можете поместить точку останова в начало mainForm_Load , чтобы увидеть. Если он не вызывается, я подозреваю, что mainForm_Load не подключен к событию Load .

Кроме того, более эффективно и, как правило, лучше переопределить On {EventName} вместо подписки на {EventName} из производных классов (в вашем случае переопределение OnLoad вместо Load ).

95
ответ дан 24 November 2019 в 10:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: