Metodo ListView.BeginUpdate (System.Windows.Forms)

Cambia visualizzazione:
ScriptFree
Riferimento a .NET Framework
Metodo ListView.BeginUpdate

Impedisce che il controllo venga creato fino quando non viene chiamato il metodo EndUpdate.

Spazio dei nomi: System.Windows.Forms
Assembly: System.Windows.Forms (in system.windows.forms.dll)

Sintassi

Visual Basic - (Dichiarazione)
Public Sub BeginUpdate
Visual Basic (Utilizzo)
Dim instance As ListView

instance.BeginUpdate
C#
public void BeginUpdate ()
C++
public:
void BeginUpdate ()
J#
public void BeginUpdate ()
JScript
public function BeginUpdate ()
Note

Il modo migliore per aggiungere più elementi a un controllo ListView consiste nell'uso del metodo AddRange della classe ListView.ListViewItemCollection, alla quale è possibile accedere tramite la proprietà Items del controllo ListView. In questo modo, con una sola operazione può essere aggiunta una matrice di elementi all'elenco. Tuttavia, se si desidera aggiungere un elemento alla volta tramite il metodo Add della classe ListView.ListViewItemCollection, è possibile utilizzare il metodo BeginUpdate per evitare che il controllo ridisegni l'oggetto ListView ogni volta che viene aggiunto un elemento. Una volta aggiunti tutti gli elementi desiderati al controllo, chiamare il metodo EndUpdate per consentire che il controllo ListView venga ridisegnato. In questo modo, è possibile evitare lo sfarfallio che si verifica quando si aggiungono numerosi elementi al controllo ListView.

Esempio

Nel codice di esempio riportato di seguito viene illustrato come inizializzare un controllo ListView perché contenga caselle di controllo. Viene inoltre illustrato l'utilizzo dei metodi BeginUpdate e EndUpdate. Per eseguire l'esempio, incollare il codice riportato di seguito in un form contenente una classe ListView denominata ListView1. Chiamare il metodo InititalizeListView dal costruttore del form o dal metodo Load.

Visual Basic
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

C#
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);
}

C++
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 );
}

J#
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

Piattaforme

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

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema.

Informazioni sulla versione

.NET Framework

Supportato in: 2.0 1.1 1.0

.NET Compact Framework

Supportato in: 2.0 1.0
Vedere anche