メッセージボックスのOKボタンを押すと、フォームがフラッシュするのはなぜ?


めんたいこ  2006-06-18 07:06:44  No: 95790

WIN2K+VB6(SP6)で開発しています。
フォーム上に以下のメッセージボックスを書いています。

MsgBox "日付が誤りです。", vbCritical, "確認"

実行後、フォーム上のメッセージのOKボタンを押すと、
ディスクトップが残像として一瞬表示されたり、
フォーム全体がフラッシュバックします。
何か回避策はありませんか?


もげ  2006-06-19 18:01:53  No: 95791

第一感、MsgBoxの問題ではなさそうな印象を持ちました。

'貴殿のいう、「フラッシュバック」
http://ja.wikipedia.org/wiki/%E3%83%95%E3%83%A9%E3%83%83%E3%82%B7%E3%83%A5%E3%83%90%E3%83%83%E3%82%AF
とはどういう状況ですか?
フォームのアクティブ/非アクティブがめまぐるしく変化する?
もしくは、ウィンドウのタイトルバーとタスクバーのボタンを点滅するのでしょうか?

新しいフォームにボタンを1つだけ貼り付けて、
Private Sub Command1_Click()
    MsgBox "日付が誤りです。", vbCritical, "確認"
End Sub
と書いて実行しても、こちらではそのような現象は再現できませんでしたが、
MsgBoxを出した後に、何らかの処理を行っているのでは?と予想されます。

>ディスクトップが残像として一瞬表示されたり

フォームをHideまたはUnload/Showを切り替えている時に、
表示しているフォームをUnloadしてから次のフォームをShowしている場合のタイムラグで
一瞬デスクトップが見えてしまうということであれば、
順番を変えて、ShowしてからUnloadするとか...
そういう観点で、処理を見直してみてください。
もし判らなければ、その部分の情報を添えて再度質問されると、
何かしらの回避策が見つかるかもしれません。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加