TreeView.EndUpdate Yöntem

Tanım

Ağaç görünümünün yeniden çizilmesine olanak tanır.

C#
public void EndUpdate ();

Örnekler

Aşağıdaki kod örneği bir TreeView denetimde müşteri bilgilerini görüntüler. Kök ağaç düğümleri müşteri adlarını, alt ağaç düğümleri ise her müşteriye atanan sipariş numaralarını görüntüler. Bu örnekte, her birinde 15 sipariş olan 1.000 müşteri görüntülenir. ve yöntemleri kullanılarak BeginUpdate EndUpdate öğesinin yeniden boyanmış TreeView olması bastırılır ve nesneler oluşturulurken ve boyanırken TreeNode TreeView bir bekleme Cursor görüntülenir. Bu örnek, bir Customer nesne koleksiyonunu Order barındırabilen bir nesneniz olmasını gerektirir. Ayrıca, uygulama dizininde adlı MyWait.cur bir imleç dosyanız olmasını ve üzerinde Formbir TreeView denetimin örneğini oluşturmuş olmanız gerekir.

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();
}

Açıklamalar

öğeleri öğesine birer birer eklenirken performansı korumak için TreeViewyöntemini çağırın BeginUpdate . yöntemi, BeginUpdate yöntem çağrılana kadar denetimin boyanmasını EndUpdate engeller.

Ağaç görünümü denetimine öğe eklemenin tercih edilen yolu, ağaç görünümüne ağaç düğümü öğeleri dizisi eklemek için yöntemini kullanmaktır AddRange . Ancak, öğeleri birer birer eklemek istiyorsanız, denetimin BeginUpdate TreeView ekleme işlemleri sırasında boyamasını önlemek için yöntemini kullanın. Denetimin boyamayı sürdürmesine izin vermek için, tüm ağaç düğümleri ağaç görünümüne eklendiğinde yöntemini çağırın EndUpdate .

Şunlara uygulanır

Ürün Sürümler
.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
Windows Desktop 3.0, 3.1, 5, 6, 7

Ayrıca bkz.