社員ブログ
HOME  社員ブログ
ホーム > .NET, VB, VB.NET, 社員:モンク, 開発言語, 雑記 > .net修行中37(DataGridViewの描画を速くする)

.net修行中37(DataGridViewの描画を速くする)

2013年07月22日 0時00分11秒

こんにちは、モンクです。

DataGridView(以下dgv)の描画を簡単に速くする方法を2点紹介します。

  1. 列の幅、行の高さ設定を自動にしない
  2. 以下の設定をすると、列幅、行高を自動で設定している時より、ずっと早くなります。
    描画する件数が多いほど、効果は高いです。

    <br />
    dgv.AllowUserToResizeRows = False<br />
    dgv.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.None<br />
    dgv.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.None<br />
    dgv.RowTemplate.Height = 10<br />
    

  3. データをdgvに配置する間、非表示にする
  4. dgvのVisibleをFalseにする、またはFormのVisibleをFalseにすることで、データをdgvに配置するときの描画(ディスプレイへの表示)がないため、処理速度工場が見込めます。
    dgvへの配置が終わったら、VisibleをTrueにします。

後者は描画に限らず、複雑な処理をしている最中でも効果があるので使いどころは多いです。
ただし、画面効果が犠牲になります(いちいち画面が点滅する感じになる)ので、
エンドユーザや発注者がいる場合は、その要望をよく聞きましょう。

.NET, VB, VB.NET, 社員:モンク, 開発言語, 雑記

  1. コメントはまだありません
  1. トラックバックはまだありません