非同期にしたい処理はBackgroundWorkerに任せるとして、ウェイト部分をどうすれば良いんだ? と思ってた。
public BackgroundWorker SetTimeout(Action fn, int time)
{
BackgroundWorker worker = new BackgroundWorker();
worker.DoWork += (sender, e) =>
{
Thread.Sleep(time);
};
worker.RunWorkerCompleted += (sender, e) =>
{
fn();
};
worker.RunWorkerAsync();
return worker;
}
//1000ミリ秒のウェイト
var worker = SetTimeout(() =>
{
MessageBox.Show("1000ミリ秒経過");
}, 1000);
Thread.Sleep()で待てば良かったんですね。
勉強になりました!
最近のツッコミ
参号館
日記(ariyasacca)