HIRO's.NET

VB.NET, C#, PowerShell Tipsサイト

 VB.NET, C#, PowerShellを使用しているエンジニアのためのサイト。

 基本的な使用方法から開発で役立つTipsまで幅広く取り扱っています。

HIRO's.NET RSSHIRO's.NET RSS


C# 2005の開発でお困りのことはありませんか?
そんな悩みは当サイトで解決!!

HOME > C# 2005 Tips > コントロール > CheckedListBox Tips メニュー

14.再描画を回避する

UPDATE:2006/08/27 

<< 前のTips  次のTips >>

 

 CheckedListBox.ItemsのAddメソッドを使用すると項目が追加されるたびに再描画されます。AddRangeメソッドを使用すれば複数の項目を1度に追加できるため問題ないのですが、Addメソッドで多くの項目を追加したい場合があります。このような場合、再描画を回避するには BeginUpdateメソッドとEndUpdateメソッドを使用します。アイテムの追加を開始する前にBeginUpdateメソッドを呼び出し、アイテムの追加が終わったらEndUpdateメソッドを呼び出します。

 
サンプル
private void button1_Click(object sender, EventArgs e)
{
    // 再描画を回避するためにBeginUpdateメソッドを呼び出します
    checkedListBox1.BeginUpdate();

    // 5000アイテム追加する
    for (int x = 1; x < 5000; x++)
    {
        checkedListBox1.Items.Add("Item " + x.ToString());
    }

    // BeginUpdateを終了し再描画できるようにします
    checkedListBox1.EndUpdate();
}