時間がかかる処理でお知らせのフォーム表示
- 題名: 時間がかかる処理でお知らせのフォーム表示
- 著者: hiro
- 日時: 2012/06/12 16:03:12
- ID: 30562
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[1]: 時間がかかる処理でお知らせのフォーム表示
- 著者: 魔界の仮面弁士
- 日時: 2012/06/12 16:46:56
- ID: 30563
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[2]: 時間がかかる処理でお知らせのフォーム表示
- 著者: hiro
- 日時: 2012/06/13 10:18:23
- ID: 30569
- この記事の返信元:
- この記事への返信:
- ツリーを表示
分類:[.NET]
いつもお世話になります。
親から子フォームを表示する際、LAN参照の処理などで子フォームを表示してくるのが遅い場合に「しばらくお待ちください」というフォームをモードレスで表示させたいのですが、不便なことに子フォームと同時に表示してきます。
単に子フォーム表示の際、Form_Load() にxxxx.Show() では、肝心なメッセージが抜けて表示します。
下記のようにスレッドを試しましたが、不便なことに子フォームと同時に表示してきます。
何かいい方法はありませんか?
Form_Load() {
Thread trd = new Thread(new ThreadStart(this.ThreadTask));
trd.IsBackground = true;
trd.Start();
}
delegate void FocusDelegate();
private void ThreadTask()
{
Invoke(new FocusDelegate(dispWaiting));
}
void dispWaiting()
{
waiting.StartPosition = FormStartPosition.CenterParent;
waiting.Show(this);
}