Freigeben über


ListView.BeginUpdate-Methode

Verhindert das Zeichnen des Steuerelements bis zum Aufruf der EndUpdate-Methode.

Namespace: System.Windows.Forms
Assembly: System.Windows.Forms (in system.windows.forms.dll)

Syntax

'Declaration
Public Sub BeginUpdate
'Usage
Dim instance As ListView

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

Hinweise

Die empfohlene Vorgehensweise für das Hinzufügen mehrerer Elemente zu einer ListView besteht im Verwenden der AddRange-Methode der ListView.ListViewItemCollection. Auf diese wird über die Items-Eigenschaft der ListView zugegriffen. So können Sie der Liste ein Array von Elementen in einem einzigen Vorgang hinzufügen. Wenn Sie allerdings Elemente einzeln mithilfe der Add-Methode der ListView.ListViewItemCollection-Klasse hinzufügen möchten, können Sie die BeginUpdate-Methode verwenden, um zu verhindern, dass die ListView bei jedem Hinzufügen eines Elements neu aufgebaut wird. Sobald der Vorgang des Hinzufügens von Elementen zum Steuerelement abgeschlossen ist, rufen Sie die EndUpdate-Methode auf, damit ListView neu aufgebaut werden kann. Durch diese Vorgehensweise beim Hinzufügen von Elementen wird das Flimmern verhindert, das beim Zeichnen der ListView entsteht, wenn dem Steuerelement eine große Zahl von Elementen hinzugefügt wird.

Beispiel

Im folgenden Codebeispiel wird das Initialisieren eines ListView-Steuerelements veranschaulicht, das Kontrollkästchen enthalten soll. Außerdem wird die Verwendung der BeginUpdate-Methode und der EndUpdate-Methode dargestellt. Fügen Sie zum Ausführen dieses Beispiels den folgenden Code in ein Formular ein, das die ListViewListView1 enthält. Rufen Sie die InititalizeListView-Methode aus dem Konstruktor des Formulars oder die Load-Methode auf.

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

Plattformen

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

.NET Compact Framework

Unterstützt in: 2.0, 1.0

Siehe auch

Referenz

ListView-Klasse
ListView-Member
System.Windows.Forms-Namespace
EndUpdate
ListView.ListViewItemCollection.AddRange
ListView.ListViewItemCollection.Add