ListView.EndUpdate ListView.EndUpdate ListView.EndUpdate ListView.EndUpdate Method

정의

의해 그리기가 중지 된 후 다시 목록 뷰 컨트롤을 BeginUpdate() 메서드.Resumes drawing of the list view control after drawing is suspended by the BeginUpdate() method.

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

예제

다음 코드 예제에서는 초기화를 ListView 확인란을 포함 하도록 제어 합니다.The following code example demonstrates initializing a ListView control to contain check boxes. 사용 하는 방법도 보여 줍니다 합니다 BeginUpdateEndUpdate 메서드.It also demonstrates using the BeginUpdate and EndUpdate methods. 이 예제를 실행 하려면 다음 코드를 포함 하는 폼에 붙여넣습니다를 ListView 라는 ListView1합니다.To run this example, paste the following code into a form containing a ListView named ListView1. 호출 된 InitializeListView 폼의 생성자에서 메서드 또는 Load 메서드.Call the InitializeListView method from the form's constructor or Load method.

void InitializeListView()
{
   this->ListView1 = gcnew System::Windows::Forms::ListView;
   
   // Set properties such as BackColor and DockStyle and Location.
   this->ListView1->BackColor = System::Drawing::SystemColors::Control;
   this->ListView1->Dock = System::Windows::Forms::DockStyle::Top;
   this->ListView1->Location = System::Drawing::Point( 0, 0 );
   this->ListView1->Size = System::Drawing::Size( 292, 130 );
   this->ListView1->View = System::Windows::Forms::View::Details;
   this->ListView1->HideSelection = false;
   
   // Allow the user to select multiple items.
   this->ListView1->MultiSelect = true;
   
   // Show CheckBoxes in the ListView.
   this->ListView1->CheckBoxes = true;
   
   //Set the column headers and populate the columns.
   ListView1->HeaderStyle = ColumnHeaderStyle::Nonclickable;
   ColumnHeader^ columnHeader1 = gcnew ColumnHeader;
   columnHeader1->Text = "Breakfast Choices";
   columnHeader1->TextAlign = HorizontalAlignment::Left;
   columnHeader1->Width = 146;
   ColumnHeader^ columnHeader2 = gcnew ColumnHeader;
   columnHeader2->Text = "Price Each";
   columnHeader2->TextAlign = HorizontalAlignment::Center;
   columnHeader2->Width = 142;
   this->ListView1->Columns->Add( columnHeader1 );
   this->ListView1->Columns->Add( columnHeader2 );
   array<String^>^foodList = {"Juice","Coffee","Cereal & Milk","Fruit Plate","Toast & Jelly","Bagel & Cream Cheese"};
   array<String^>^foodPrice = {"1.09","1.09","2.19","2.79","2.09","2.69"};
   int count;
   
   // Members are added one at a time, so call BeginUpdate to ensure 
   // the list is painted only once, rather than as each list item is added.
   ListView1->BeginUpdate();
   for ( count = 0; count < foodList->Length; count++ )
   {
      ListViewItem^ listItem = gcnew ListViewItem( foodList[ count ] );
      listItem->SubItems->Add( foodPrice[ count ] );
      ListView1->Items->Add( listItem );
   }
   
   //Call EndUpdate when you finish adding items to the ListView.
   ListView1->EndUpdate();
   this->Controls->Add( this->ListView1 );
}
private void InitializeListView()
{
	this.ListView1 = new System.Windows.Forms.ListView();

	// Set properties such as BackColor and DockStyle and Location.
	this.ListView1.BackColor = System.Drawing.SystemColors.Control;
	this.ListView1.Dock = System.Windows.Forms.DockStyle.Top;
	this.ListView1.Location = new System.Drawing.Point(0, 0);
	this.ListView1.Size = new System.Drawing.Size(292, 130);
	this.ListView1.View = System.Windows.Forms.View.Details;
	this.ListView1.HideSelection = false;

	// Allow the user to select multiple items.
	this.ListView1.MultiSelect = true;

	// Show CheckBoxes in the ListView.
	this.ListView1.CheckBoxes = true;
	
	//Set the column headers and populate the columns.
	ListView1.HeaderStyle = ColumnHeaderStyle.Nonclickable;
	
	ColumnHeader columnHeader1 = new ColumnHeader();
	columnHeader1.Text = "Breakfast Choices";
	columnHeader1.TextAlign = HorizontalAlignment.Left;
	columnHeader1.Width = 146;

	ColumnHeader columnHeader2 = new ColumnHeader();
	columnHeader2.Text = "Price Each";
	columnHeader2.TextAlign = HorizontalAlignment.Center;
	columnHeader2.Width = 142;

      	this.ListView1.Columns.Add(columnHeader1);
	this.ListView1.Columns.Add(columnHeader2);

	string[] foodList = new string[]{"Juice", "Coffee", 
		"Cereal & Milk", "Fruit Plate", "Toast & Jelly", 
		"Bagel & Cream Cheese"};

	string[] foodPrice = new string[]{"1.09", "1.09", "2.19", 
		"2.79", "2.09", "2.69"};
	
	int count;

	// Members are added one at a time, so call BeginUpdate to ensure 
	// the list is painted only once, rather than as each list item is added.
	ListView1.BeginUpdate();

	for(count = 0; count < foodList.Length; count++)
	{
		ListViewItem listItem = new ListViewItem(foodList[count]);
		listItem.SubItems.Add(foodPrice[count]);
		ListView1.Items.Add(listItem);
	}

	//Call EndUpdate when you finish adding items to the ListView.
	ListView1.EndUpdate();
	this.Controls.Add(this.ListView1);
}
Private Sub InitializeListView()
    Me.ListView1 = New System.Windows.Forms.ListView

    ' Set properties such as BackColor, Location and Size
    Me.ListView1.BackColor = System.Drawing.SystemColors.Control
    Me.ListView1.Dock = System.Windows.Forms.DockStyle.Top
    Me.ListView1.Location = New System.Drawing.Point(0, 0)
    Me.ListView1.Size = New System.Drawing.Size(292, 130)
    Me.ListView1.View = System.Windows.Forms.View.Details
    Me.ListView1.HideSelection = False

    ' Allow user to select multiple items.
    Me.ListView1.MultiSelect = True

    ' Show check boxes in the ListView.
    Me.ListView1.CheckBoxes = True

    'Set the column headers and populate the columns.
    ListView1.HeaderStyle = ColumnHeaderStyle.Nonclickable
    Dim columnHeader1 As New ColumnHeader
    With columnHeader1
        .Text = "Breakfast Choices"
        .TextAlign = HorizontalAlignment.Left
        .Width = 146
    End With
    Dim columnHeader2 As New ColumnHeader
    With columnHeader2
        .Text = "Price Each"
        .TextAlign = HorizontalAlignment.Center
        .Width = 142
    End With
    Me.ListView1.Columns.Add(columnHeader1)
    Me.ListView1.Columns.Add(columnHeader2)
    Dim foodList() As String = New String() {"Juice", "Coffee", _
        "Cereal & Milk", "Fruit Plate", "Toast & Jelly", _
        "Bagel & Cream Cheese"}

    Dim foodPrice() As String = New String() {"1.09", "1.09", "2.19", _
        "2.79", "2.09", "2.69"}
    Dim count As Integer

    ' Members are added one at a time, so call BeginUpdate to ensure 
    ' the list is painted only once, rather than as each list item is added.
    ListView1.BeginUpdate()

    For count = 0 To foodList.Length - 1
        Dim listItem As New ListViewItem(foodList(count))
        listItem.SubItems.Add(foodPrice(count))
        ListView1.Items.Add(listItem)
    Next

    'Call EndUpdate when you finish adding items to the ListView.
    ListView1.EndUpdate()
    Me.Controls.Add(Me.ListView1)
End Sub

설명

여러 항목을 추가 하는 기본 방법은 ListView 사용 하는 것를 AddRange 메서드의 ListView.ListViewItemCollection (통해 액세스를 Items 속성의는 ListView).The preferred way to add multiple items to a ListView is to use the AddRange method of the ListView.ListViewItemCollection (accessed through the Items property of the ListView). 이 단일 작업에서 목록 항목의 배열을 추가할 수 있습니다.This enables you to add an array of items to the list in a single operation. 하지만 추가 하려는 경우에 하나의 항목을 사용 하 여 시간을 Add 메서드의 ListView.ListViewItemCollection 클래스를 사용할 수는 BeginUpdate 컨트롤 다시 그리기를 수행 하지 못하도록 메서드는 ListView 항목이 추가 될 때마다.However, if you want to add items one at a time using the Add method of the ListView.ListViewItemCollection class, you can use the BeginUpdate method to prevent the control from repainting the ListView each time an item is added. 컨트롤에 항목을 추가 하는 작업을 완료 한 후 호출을 EndUpdate 메서드를 사용 하도록 설정 합니다 ListView 다시 그려야 합니다.Once you have completed the task of adding items to the control, call the EndUpdate method to enable the ListView to repaint. 이 방법으로 항목의 그리기 추가 ListView 항목 수가 많은 컨트롤에 추가 되는 경우.This way of adding items can prevent flickered drawing of the ListView when a large number of items are being added to the control.

하는 경우 BeginUpdate 두 번 이상 이라고 EndUpdate 횟수에 해당 하는 호출 해야 합니다.If BeginUpdate is called more than once, EndUpdate must be called an equivalent number of times. 마지막 호출 될 때까지 EndUpdateListView 이 그려집니다.Until the last call to EndUpdate the ListView will not repaint. 따라서 이외의 여러 번 호출 BeginUpdate 영향을 주지 않습니다.Other than this, multiple calls to BeginUpdate have no effect.

적용 대상

추가 정보