C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 16 を表示中)
■6188 / )  画面切替をスムーズにしたい
□投稿者/ kyan (1回)-(2007/08/03(Fri) 17:34:52)

分類:[VB.NET/VB2005] 

VB2005です。
OS:XP Pro
メニュー画面からA画面を呼び出します。A画面が表示されたら、メニュー画面は終了します。
下記のイメージです。
[メニュー画面]
メニュー画面_Closed で、
hP = Process.Start("A画面.exe")
hP.WaitForInputIdle()
hP.Close()
hP.Dispose()

[A画面]
A画面_Load で
もろもろの初期処理後
Me.Show()
Me.Activate()
データベース読み込みなど。。。

(状況)
メニュー画面からA画面に切り替わる途中で、一瞬、裏画面が見えてしまいます。
@メニュー画面が終了する。
A裏(ディスクトップなど)が見える
BA画面が起動する。

つまり、A画面が表示しないうちに、WaitForInputIdle()が帰ってきてしまっていると思われます。
希望としては、Me.Activate()のところで、WaitForInputIdle()が帰ってきてほしい。
@メニュー画面が終了する。
AA画面が起動する。
同じEXE内で、フォームを切り替えているような動きにしたいわけです。

VB.NET 2003 の時は、上記の方法でスムーズに切り替わっていたのですが、
VB2005にしてから、どうもうまくいきません。

WaitForInputIdle() の後に
Call System.Threading.Thread.Sleep(1000)
で、無理やり、1秒待たせると、切り替わりはスムーズになりますが、
できれば、この方法は使いたくないです。

何かいい解決策をご教授ください。m(_)m

返信 編集キー/


管理者用

- Child Tree -