TreeView.EndUpdate Méthode

Définition

Active le rafraîchissement du dessin de l'arborescence.

C#
public void EndUpdate();

Exemples

L’exemple de code suivant affiche des informations client dans un TreeView contrôle. Les nœuds d’arborescence racine affichent les noms des clients, et les nœuds d’arborescence enfants affichent les numéros de commande attribués à chaque client. Dans cet exemple, 1 000 clients sont affichés avec 15 commandes chacun. Le repeint du est supprimé à l’aide TreeViewBeginUpdate des méthodes et EndUpdate , et une attente Cursor s’affiche pendant que le TreeView crée et peint les TreeNode objets. Cet exemple nécessite que vous disposiez d’un Customer objet pouvant contenir une collection d’objets Order . Elle nécessite également que vous disposiez d’un fichier de curseur nommé MyWait.cur dans le répertoire de l’application et que vous ayez créé une instance d’un TreeView contrôle sur un Form.

C#

// The basic Customer class.
public class Customer : System.Object
{
   private string custName = "";
   protected ArrayList custOrders = new ArrayList();

   public Customer(string customername)
   {
      this.custName = customername;
   }

   public string CustomerName
   {      
      get{return this.custName;}
      set{this.custName = value;}
   }

   public ArrayList CustomerOrders 
   {
      get{return this.custOrders;}
   }
} // End Customer class 

// The basic customer Order class.
public class Order : System.Object
{
   private string ordID = "";

   public Order(string orderid)
   {
      this.ordID = orderid;
   }

   public string OrderID
   {      
      get{return this.ordID;}
      set{this.ordID = value;}
   }
} // End Order class

// Create a new ArrayList to hold the Customer objects.
private ArrayList customerArray = new ArrayList(); 

private void FillMyTreeView()
{
   // Add customers to the ArrayList of Customer objects.
   for(int x=0; x<1000; x++)
   {
      customerArray.Add(new Customer("Customer" + x.ToString()));
   }

   // Add orders to each Customer object in the ArrayList.
   foreach(Customer customer1 in customerArray)
   {
      for(int y=0; y<15; y++)
      {
         customer1.CustomerOrders.Add(new Order("Order" + y.ToString()));    
      }
   }

   // Display a wait cursor while the TreeNodes are being created.
   Cursor.Current = new Cursor("MyWait.cur");
        
   // Suppress repainting the TreeView until all the objects have been created.
   treeView1.BeginUpdate();

   // Clear the TreeView each time the method is called.
   treeView1.Nodes.Clear();

   // Add a root TreeNode for each Customer object in the ArrayList.
   foreach(Customer customer2 in customerArray)
   {
      treeView1.Nodes.Add(new TreeNode(customer2.CustomerName));
          
      // Add a child treenode for each Order object in the current Customer object.
      foreach(Order order1 in customer2.CustomerOrders)
      {
         treeView1.Nodes[customerArray.IndexOf(customer2)].Nodes.Add(
           new TreeNode(customer2.CustomerName + "." + order1.OrderID));
      }
   }

   // Reset the cursor to the default for all controls.
   Cursor.Current = Cursors.Default;

   // Begin repainting the TreeView.
   treeView1.EndUpdate();
}

Remarques

Pour maintenir les performances pendant que les éléments sont ajoutés un par un à la TreeView, appelez la BeginUpdate méthode . La BeginUpdate méthode empêche le contrôle de peindre tant que la EndUpdate méthode n’est pas appelée.

La méthode recommandée pour ajouter des éléments à un contrôle d’arborescence consiste à utiliser la AddRange méthode pour ajouter un tableau d’éléments de nœud d’arborescence à une arborescence. Toutefois, si vous souhaitez ajouter des éléments un par un, utilisez la BeginUpdate méthode pour empêcher le TreeView contrôle de peindre pendant les opérations d’ajout. Pour permettre au contrôle de reprendre la peinture, appelez la EndUpdate méthode lorsque tous les nœuds d’arborescence ont été ajoutés à l’arborescence.

S’applique à

Produit Versions
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10

Voir aussi