未分類

【C# ListBox】アイテム追加を高速に行う

準備

(なし)

デザイン

1. フォーム (Form1) にボタン (button1) を配置します。
2. フォーム (Form1) にリストボックス (listBox1) を配置します。

サンプルコード (C#)

// 名前空間の追加
// (なし)

// コード
private void button1_Click(object sender, EventArgs e)
{
  listBox1.BeginUpdate();
  for (int i = 0; i < 50000; i++)
  {
    listBox1.Items.Add(i.ToString());
  }
  listBox1.EndUpdate();
}

解説

BeginUpdate で、リストボックスの表示を一時停止します。そして、すべてのアイテムの追加が終了した段階で、EndUpdate により、一気に表示します。 BeginUpdate ~ EndUpdate を行うと、スピードが劇的に速くなります。

結果

動作確認環境

Visual Studio 2015 Professional (C# 6.0)

-未分類