- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:2つのメッセージボックスを表示している間、コードを待機させる方法
)
2つのメッセージボックスを表示している間、コードを待機させる方法
このQ&Aのポイント
- Form_MsgBox1とForm_MsgBox2上での操作が完了するまで、Form1のコードを中断したいのですが、そのような事って可能なのでしょうか?
- Form_MsgBox1とForm_MsgBox2を交互に操作している間、Form1だけ待機させて操作できなければよいのですが、どうすればよいでしょうか?
- 質問させていただきます。開発環境はXP+VB2008になります。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
下記で出来るかな。 パブリックのbool変数(例えば MsgBoxClose)を設けて、MsgBox1をShowする前に False にしておく。 MsgBox1をshowした後でDoかWhileを使ってMsgBoxCloseがTrueになるまで無限ループで待つ。 MsgBox1をClose(Hidenかな)する時にMsgBoxCloseをTrueにする。 必要であればMsgBox2でも同様な事を行うためにパブリックのbool変数を二つにして、その二つがTrueになるまで無限ループで待つ。 (無限ループの中ではDoEventsを実行していないとTrueが捕まえられないような気がする)
お礼
ありがとうございます! Do Until MsgBox1.Tag = 1 System.Windows.Forms.Application.DoEvents() System.Threading.Thread.Sleep(20) Loop といたしまして、何とかうまくいきました。 まだ微調整の必要がありますが。。。^^; この度はご閲覧・アドバイスいただきまして助かりました。 どうもありがとうございました!!!