- PR -

時間がかかる処理の最中に、処理中のフォーム(ダイアログ)を表示したい

1
投稿者投稿内容
篇銀
常連さん
会議室デビュー日: 2005/06/01
投稿数: 26
投稿日時: 2006-10-13 13:56
こんにちは。篇銀です。
アドバイスを頂けないでしょうか。

【動作環境】
Microsoft Windows XP Professional
Microsoft Visula Basic 2005

【事象】
VB初心者で申し訳ないのですが、教えてください。
時間がかかる処理(ここでは仮にfrmMainとします)の前に、「処理中です」というようなフォームなりダイアログを表示し、frmMainが開いたら、閉じようと思い以下のようなコードを書いたところ、どうやら「処理中です」のフォームを閉じないとfrmMainフォームが開かないで待ちになってしまうようです。通常、どのようなコードを書けば良いのでしょうか?

コード例
Dim frmProcessDlg As ProcessForm '処理中フォーム
Dim frmMainDlg As MainForm 'メインフォーム

frmProcessDlg = New ProcessForm()
frmProcessDlg.ShowDialog()

frmMainDlg = New MainForm() 'メイン処理(時間がかかる)
frmMainDlg.ShowDialog()

frmProcessDlg.Close()

以上
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-10-13 14:56
引用:

篇銀さんの書き込み (2006-10-13 13:56) より:

frmMainが開いたら、閉じようと思い以下のようなコードを書いたところ、どうやら「処理中です」のフォームを閉じないとfrmMainフォームが開かないで待ちになってしまうようです。


ShowDialog メソッドは、モーダルだからでしょう。
時間のかかる処理の扱い方は、過去ログにもいくつか存在するでしょう。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
篇銀
常連さん
会議室デビュー日: 2005/06/01
投稿数: 26
投稿日時: 2006-10-13 17:43
じゃんぬねっとさん、こんにちは。
アドバイスをありがとうございます。
検索したところ、進行状況をダイアログで表示する記事を見つけました。
参考にしてみます。

1

スキルアップ/キャリアアップ(JOB@IT)