テストのためにいくつかの呼び出しを入力しました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
Console
System.Diagnostics.Debug.WriteLine
はコンソール ウィンドウに出力しますが、Winforms アプリケーションではコンソール ウィンドウは表示されません。 IDE の出力ウィンドウに出力を送信するには、を使用できるはずです。
編集:この問題に関して、 がmainForm_Load
実際に呼び出されていることを確認しましたか? の先頭にブレークポイントを設定して確認できます。 が呼び出されていない場合は、イベントに接続されていないmainForm_Load
と思われます。mainForm_Load
Load
また、派生クラス内からOn{EventName}
をサブスクライブするのではなく、 をオーバーライドする方が効率的で、一般的にはより適切です(この場合は ではなく をオーバーライドします)。{EventName}
OnLoad
Load