ListBox.BeginUpdate ListBox.BeginUpdate ListBox.BeginUpdate ListBox.BeginUpdate Method

定義

項目を 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 ()

次のコード例ではBeginUpdateEndUpdateメソッドとメソッドを使用してListBox、に5000項目を追加します。The following code example uses the BeginUpdate and EndUpdate methods while adding five thousand items to a ListBox. この例では、 ListBoxという名前listBox1のコントロールがに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メソッド ( ItemsのプロパティListBoxを使用) を使用することをお勧めします。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. Addただし、 ListBox.ObjectCollectionクラスのメソッドを使用して一度に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.

適用対象

こちらもご覧ください