完了するまでに数秒かかる可能性のあるC#コードのセクションの冒頭に、「お待ちください...」というラベルが付いた非モーダルフォームを表示したいと思います。
WaitForm myWaitForm = null;
try
{
// if conditions suggest process will take awhile
myWaitForm = new WaitForm();
myWaitForm.Show();
// do stuff
}
finally
{
if (myWaitForm != null)
{
myWaitForm.Hide();
myWaitForm.Dispose();
myWaitForm = null;
}
}
問題:残りのコードがスレッドを拘束する前に、WaitFormが完全に表示されません。そのため、フォームのフレームのみが表示されます。Delphi(私の古い踏み台)では、Show()の後にApplication.ProcessMessagesを呼び出します。C#に同等のものはありますか?このような状況で使用できる缶詰の「ステータス」フォームはありますか?これにアプローチするためのより良い方法はありますか?
前もって感謝します。デビッドジェニングス