本日のテーマ
- 起動時に、画面の各コントロールに初期値が設定されるアプリについて考える
- 初期値を設定している間だけ、コントロールのイベントを無効にしたい
要するに、TextChanged
を一時的に黙らせたい。
背景
かつて、僕が某システムを開発していたとき、「アプリケーション画面の起動が遅い」という問題に直面したことがありました。
原因の一つは、画面のコントロールに初期値*1を設定する際、不要なイベントが一斉に走るせいでパフォーマンスが悪化していたためでした。
すぐさま、不要なイベントを一時的に無効化する処置がとられました。
さて、イベントの一時無効化は開発現場のあるあるパターンですが、力技の汚い実装でコードをとっ散らかす開発メンバが多いと感じたので、とりあえずここに僕がよく使う方法を書き残しておくことにします。
*1:前画面から引き継いだ情報など。