Windows フォーム アプリケーションで、フォームを正常に実行しました。
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
できます。フォームをロードしました。
しかし、フォームがロードされた後にサイクルで何かを行う場合は、次のように言います...
String MyLog = Directory.GetCurrentDirectory() + "\\MyLog.txt";
while (true)
{
using (StreamWriter writer = new StreamWriter(MyLog, true))
{
writer.Write("Hello");
}
Thread.Sleep(1000);
}
...フォームが閉じたりクラッシュしたりしています。
フォームの Load プロパティで特別なイベント ハンドラーを指定しようとしましたが、役に立ちませんでした。
このコードは機能します (「Hello」という文字列が書かれており、フォームは有効です):
private void formLoad(object sender, EventArgs e)
{
String MyLog = Directory.GetCurrentDirectory() + "\\MyLog.txt";
using (StreamWriter writer = new StreamWriter(MyLog, true))
{
writer.Write("Hello");
}
Thread.Sleep(1000);
}
このコードは機能しません (サイクルを追加しました) - フォームがクラッシュします:
private void formLoad(object sender, EventArgs e)
{
String MyLog = Directory.GetCurrentDirectory() + "\\MyLog.txt";
while (true)
{
using (StreamWriter writer = new StreamWriter(MyLog, true))
{
writer.Write("Hello");
}
Thread.Sleep(1000);
}
}
私の質問は、フォームが読み込まれた後にバックグラウンドで何かを実行できるように、コードを整理するにはどうすればよいですか?