ListBox.BeginUpdate メソッド

定義

項目を ListBox に 1 つずつ追加するときにパフォーマンスを維持するには、EndUpdate() メソッドが呼び出されるまでコントロールを再描画しないようにします。Maintains performance while items are added to the ListBox one at a time by preventing the control from drawing until the EndUpdate() method is called.

public:
 void BeginUpdate();
public void BeginUpdate ();
member this.BeginUpdate : unit -> unit
Public Sub BeginUpdate ()

次のコード例では、ListBoxに5000項目を追加するときに、BeginUpdate メソッドと EndUpdate メソッドを使用します。The following code example uses the BeginUpdate and EndUpdate methods while adding five thousand items to a ListBox. この例では、listBox1という名前の ListBox コントロールが Form に追加され、このメソッドがフォーム内に配置され、このメソッドから呼び出されている必要があります。This example requires that a ListBox control, named listBox1, has been added to a Form and that this method is placed within the form and called from it.

void AddToMyListBox()
{
   // Stop the ListBox from drawing while items are added.
   listBox1->BeginUpdate();

   // Loop through and add five thousand new items.
   for ( int x = 1; x < 5000; x++ )
   {
      listBox1->Items->Add( String::Format( "Item {0}", x ) );
   }
   listBox1->EndUpdate();
}
public void AddToMyListBox()
{
   // Stop the ListBox from drawing while items are added.
   listBox1.BeginUpdate();

   // Loop through and add five thousand new items.
   for(int x = 1; x < 5000; x++)
   {
      listBox1.Items.Add("Item " + x.ToString());   
   }
   // End the update process and force a repaint of the ListBox.
   listBox1.EndUpdate();
}

Public Sub AddToMyListBox()
    ' Stop the ListBox from drawing while items are added.
    listBox1.BeginUpdate()
       
    ' Loop through and add five thousand new items.
    Dim x As Integer
    For x = 1 To 4999
        listBox1.Items.Add("Item " & x.ToString())
    Next x
    ' End the update process and force a repaint of the ListBox.
    listBox1.EndUpdate()
End Sub

注釈

複数の項目を ListBox に追加するには、ListBox.ObjectCollection クラスの AddRange メソッド (ListBoxItems プロパティを使用) を使用することをお勧めします。The preferred way to add multiple items to the ListBox is to use the AddRange method of the ListBox.ObjectCollection class (through the Items property of the ListBox). これにより、1回の操作でリストに項目の配列を追加できます。This enables you to add an array of items to the list in a single operation. ただし、ListBox.ObjectCollection クラスの Add メソッドを使用して一度に1つずつ項目を追加する場合は、BeginUpdate メソッドを使用して、リストに項目が追加されるたびに、コントロールが ListBox を再描画しないようにすることができます。However, if you want to add items one at a time using the Add method of the ListBox.ObjectCollection class, you can use the BeginUpdate method to prevent the control from repainting the ListBox each time an item is added to the list. リストに項目を追加するタスクを完了したら、EndUpdate メソッドを呼び出して、ListBox を再描画できるようにします。Once you have completed the task of adding items to the list, call the EndUpdate method to enable the ListBox to repaint. このように項目を追加すると、多数の項目がリストに追加されている場合に、ListBox の flickered 描画を防ぐことができます。This way of adding items can prevent flickered drawing of the ListBox when a large number of items are being added to the list.

適用対象

こちらもご覧ください