ListView.EndUpdate 方法

BeginUpdate 方法挂起描述后,继续描述列表视图控件。

**命名空间:**System.Windows.Forms
**程序集:**System.Windows.Forms(在 system.windows.forms.dll 中)

语法

声明
Public Sub EndUpdate
用法
Dim instance As ListView

instance.EndUpdate
public void EndUpdate ()
public:
void EndUpdate ()
public void EndUpdate ()
public function EndUpdate ()

备注

将多个项添加到 ListView 的首选方法是使用 ListView.ListViewItemCollection(通过 ListViewItems 属性访问)的 AddRange 方法。这使您得以在一个操作中就可将一组项添加到列表中。然而,如果希望使用 ListView.ListViewItemCollection 类的 Add 方法以每次一个的方式添加项,则可以使用 BeginUpdate 方法防止控件在每次添加项时重新绘制 ListView。在完成将项添加到控件的任务后,请调用 EndUpdate 方法以使 ListView 能够重新绘制。这种添加项的方法可以防止将大量项添加到控件时发生闪烁的 ListView 绘制。

示例

下面的代码示例演示如何初始化 ListView 控件以包含复选框。它还阐释了如何使用 BeginUpdateEndUpdate 方法。若要运行此示例,请将以下代码粘贴到一个包含名为 ListView1ListView 的窗体中。从窗体的构造函数或 Load 方法调用 InititalizeListView 方法。

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
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);
}
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.set_BackColor(System.Drawing.SystemColors.get_Control());
    this.listView1.set_Dock(System.Windows.Forms.DockStyle.Top);
    this.listView1.set_Location(new System.Drawing.Point(0, 0));
    this.listView1.set_Size(new System.Drawing.Size(292, 130));
    this.listView1.set_View(System.Windows.Forms.View.Details);
    this.listView1.set_HideSelection(false);
    // Allow the user to select multiple items.
    this.listView1.set_MultiSelect(true);
    // Show CheckBoxes in the ListView.
    this.listView1.set_CheckBoxes(true);
    //Set the column headers and populate the columns.
    listView1.set_HeaderStyle(ColumnHeaderStyle.Nonclickable);

    ColumnHeader columnHeader1 = new ColumnHeader();
    columnHeader1.set_Text("Breakfast Choices");
    columnHeader1.set_TextAlign(HorizontalAlignment.Left);
    columnHeader1.set_Width(146);

    ColumnHeader columnHeader2 = new ColumnHeader();
    columnHeader2.set_Text("Price Each");
    columnHeader2.set_TextAlign(HorizontalAlignment.Center);
    columnHeader2.set_Width(142);

    this.listView1.get_Columns().Add(columnHeader1);
    this.listView1.get_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((String)foodList.get_Item(count));
        listItem.get_SubItems().Add((String)foodPrice.get_Item(count));
        listView1.get_Items().Add(listItem);
    }
    //Call EndUpdate when you finish adding items to the ListView.
    listView1.EndUpdate();
    this.get_Controls().Add(this.listView1);
} //InitializeListView

平台

Windows 98、Windows 2000 SP4、Windows CE、Windows Millennium Edition、Windows Mobile for Pocket PC、Windows Mobile for Smartphone、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition

.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求

版本信息

.NET Framework

受以下版本支持:2.0、1.1、1.0

.NET Compact Framework

受以下版本支持:2.0、1.0

请参见

参考

ListView 类
ListView 成员
System.Windows.Forms 命名空间
BeginUpdate
ListView.ListViewItemCollection.AddRange
ListView.ListViewItemCollection.Add