FormShowのイベントで本来行いたい処理(以下:初期化処理)なのですが、描画などの関係上Formshowイベントでは失敗します。
例) Form表示後のButtonClickでは初期化処理は成功する
ただボタン等によるイベントでアクションするのではなく、Formが開いたときに行ってほしいのです。
現状私が考えたのは、FormShowにてTimer起動(もしくわスレッド起動)
Timerの中で初期化処理を行い、Timerは一度で終了。
これでうまくいきます。
もっと単純な他の方法等ありますでしょうか?
アドバイス、よろしくお願いします。
私はFormCreateの最後でTimerをイネーブルにしています。
これが一番安定して動作すると感じています^^
そのフォームがShowModalで表示されるものなら、FormActiveでやる手もあります。
ShowModalの表示でなくてもフラグを使って1回だけに限れば可能です。
色々なやり方がある中、確実なものを選択すべきですね。
Timerで対応することにしました。
ありがとうございます。
ツイート | ![]() |