Console.WriteLine が出力ウィンドウに表示されない 質問する

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

    }
}

誰か助けてくれませんか?

ベストアンサー1

ConsoleSystem.Diagnostics.Debug.WriteLineはコンソール ウィンドウに出力しますが、Winforms アプリケーションではコンソール ウィンドウは表示されません。 IDE の出力ウィンドウに出力を送信するには、を使用できるはずです。

編集:この問題に関して、 がmainForm_Load実際に呼び出されていることを確認しましたか? の先頭にブレークポイントを設定して確認できます。 が呼び出されていない場合は、イベントに接続されていないmainForm_Loadと思われます。mainForm_LoadLoad

また、派生クラス内からOn{EventName}をサブスクライブするのではなく、 をオーバーライドする方が効率的で、一般的にはより適切です(この場合は ではなく をオーバーライドします)。{EventName}OnLoadLoad

おすすめ記事