• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:2つのメッセージボックスを表示している間、コードを待機させる方法 )

2つのメッセージボックスを表示している間、コードを待機させる方法

このQ&Aのポイント
  • Form_MsgBox1とForm_MsgBox2上での操作が完了するまで、Form1のコードを中断したいのですが、そのような事って可能なのでしょうか?
  • Form_MsgBox1とForm_MsgBox2を交互に操作している間、Form1だけ待機させて操作できなければよいのですが、どうすればよいでしょうか?
  • 質問させていただきます。開発環境はXP+VB2008になります。

質問者が選んだベストアンサー

  • ベストアンサー
  • samtomsan
  • ベストアンサー率55% (1060/1897)
回答No.1

下記で出来るかな。 パブリックのbool変数(例えば MsgBoxClose)を設けて、MsgBox1をShowする前に False にしておく。 MsgBox1をshowした後でDoかWhileを使ってMsgBoxCloseがTrueになるまで無限ループで待つ。 MsgBox1をClose(Hidenかな)する時にMsgBoxCloseをTrueにする。 必要であればMsgBox2でも同様な事を行うためにパブリックのbool変数を二つにして、その二つがTrueになるまで無限ループで待つ。 (無限ループの中ではDoEventsを実行していないとTrueが捕まえられないような気がする)

MKT_
質問者

お礼

 ありがとうございます!    Do Until MsgBox1.Tag = 1     System.Windows.Forms.Application.DoEvents()     System.Threading.Thread.Sleep(20)    Loop といたしまして、何とかうまくいきました。 まだ微調整の必要がありますが。。。^^;  この度はご閲覧・アドバイスいただきまして助かりました。 どうもありがとうございました!!!

関連するQ&A