C#フォームのタイマーイベントは再入するんですね

競馬ソフト

今週出るよ!の「メンテナンス中」メッセージボックスが多重表示される件を調査していて気づいたこと。

タイマーイベントは、メッセージボックス表示中も再度発生するんですね。メッセージボックス表示中はThread.Sleep()のようにスレッドが一時停止しているのかと思っていました。

画像は、タイマーイベント内でメッセージボックスを表示した場合の例です。

上記画像のような現象が発生する環境を作り、対策の処理を動作確認。タイマーイベントが原因のメッセージボックス多重表示はこれで修正できたはず。

通常時の動作が問題ないことを確認したらバグ修正版としてリリースする予定です。

タイトルとURLをコピーしました