ローディングスクリーンを表示するためにバックグラウンドワーカーを使用しています。
DO イベントは次のようになります。
private void bwLoadingScreen_DoWork(object sender, DoWorkEventArgs e)
{
_ls = new LoadingScreen();
_ls.Show();
while (!bwLoadingScreen.CancellationPending)
{
Application.DoEvents();
}
}
次のコードを使用して、ロード画面を破棄します。
if (_ls.InvokeRequired && !_ls.IsDisposed)
{
Invoke(new MethodInvoker(delegate
{
_ls.Close();
_ls.Dispose();
}));
}
else if (!_ls.IsDisposed)
{
_ls.Hide();
_ls.Dispose();
}
これには RunWorkerCompleted イベントを使用する必要がありますか? これは、Backgroundworker を使用する正しい方法ですか?