いろいろ試行錯誤

調べものしたときの覚書きや、仕事でコーディングした時のメモ などなど…

大量部品を配置する時の表示切替え

[前提条件]

  • UserControl で作成したカラムを複数行表示して、改ページしていく。
  • 初期読込時に時間がかかるのは「しばらくお待ちください」を表示して逃げるとして、カーソル移動&ページ移動はスムーズにしたい。

[失敗1]

  1. 全部品を貼り付ける
  2. 初期ページの部品を配置する
  3. 改ページ処理
    • 表示していたページ → Visible=false
    • 表示するページ → 部品を配置 → Visible=true

何故か1回目の改ページ時に、「Visible=false」のタイミングで初期表示と変わらないくらい時間がかかる。その後の改ページはとてもスムーズ。


[失敗2]

  1. 全部品を貼り付ける
  2. 全部品を配置する
  3. 改ページ処理
    • 表示していたページ → Visible=false
    • 表示するページ → Visible=true

改ページする(後半ページになる)につれ、どんどん表示が遅くなる。


[成功]

  1. 全部品を貼り付ける
  2. 全部品を配置する
  3. 改ページ処理
    • 表示するページ → BringToFront() で最前面に表示する

但し、最終ページの項目数が少ない場合、前ページの項目が見えちゃうので、ダミーのPanelなんかを被せる必要あり。