大量部品を配置する時の表示切替え
[前提条件]
- UserControl で作成したカラムを複数行表示して、改ページしていく。
- 初期読込時に時間がかかるのは「しばらくお待ちください」を表示して逃げるとして、カーソル移動&ページ移動はスムーズにしたい。
[失敗1]
- 全部品を貼り付ける
- 初期ページの部品を配置する
- 改ページ処理
- 表示していたページ → Visible=false
- 表示するページ → 部品を配置 → Visible=true
何故か1回目の改ページ時に、「Visible=false」のタイミングで初期表示と変わらないくらい時間がかかる。その後の改ページはとてもスムーズ。
[失敗2]
- 全部品を貼り付ける
- 全部品を配置する
- 改ページ処理
- 表示していたページ → Visible=false
- 表示するページ → Visible=true
改ページする(後半ページになる)につれ、どんどん表示が遅くなる。
[成功]
- 全部品を貼り付ける
- 全部品を配置する
- 改ページ処理
- 表示するページ → BringToFront() で最前面に表示する
但し、最終ページの項目数が少ない場合、前ページの項目が見えちゃうので、ダミーのPanelなんかを被せる必要あり。