using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Text;
using System.Windows.Forms;
using Aga.Controls.Tree;
using Aga.Controls;
namespace SampleApp{
public partial class PerformanceTest : UserControl
{
private const int Num = 25000;
private TreeModel _model;
public PerformanceTest()
{
InitializeComponent();
}
private void _load_Click(object sender, EventArgs e)
{
label3.Text = "Working";
Application.DoEvents();
_treeView.Model = null;
_model = null;
GC.Collect(3);
TimeCounter.Start();
_model = new TreeModel();
for (int i = 0; i < 10; i++)
{
_model.Root.Nodes.Add(new Node(i.ToString()));
for (int n = 0; n < 500; n++)
{
_model.Root.Nodes[i].Nodes.Add(new Node(n.ToString()));
for (int k = 0; k < 5; k++)
_model.Root.Nodes[i].Nodes[n].Nodes.Add(new Node(k.ToString()));
}
}
_treeView.Model = _model;
label3.Text = TimeCounter.Finish().ToString();
}
private void _expand_Click(object sender, EventArgs e)
{
if (_treeView.Root.Children.Count > 0)
{
label4.Text = "Working";
Application.DoEvents();
TimeCounter.Start();
if (_treeView.Root.Children[0].IsExpanded)
_treeView.CollapseAll();
else
_treeView.ExpandAll();
label4.Text = TimeCounter.Finish().ToString();
}
}
private void _load2_Click(object sender, EventArgs e)
{
label5.Text = "Working";
Application.DoEvents();
_treeView2.Nodes.Clear();
TimeCounter.Start();
_treeView2.BeginUpdate();
List<TreeNode> list = new List<TreeNode>();
for (int i = 0; i < 10; i++)
{
list.Add(new TreeNode(i.ToString()));
for (int n = 0; n < 500; n++)
{
list[i].Nodes.Add(n.ToString());
for (int k = 0; k < 5; k++)
list[i].Nodes[n].Nodes.Add(k.ToString());
}
}
_treeView2.Nodes.AddRange(list.ToArray());
_treeView2.EndUpdate();
label5.Text = TimeCounter.Finish().ToString();
}
private void _expand2_Click(object sender, EventArgs e)
{
if (_treeView2.Nodes.Count > 0)
{
label6.Text = "Working";
Application.DoEvents();
TimeCounter.Start();
//treeView1.BeginUpdate();
if (_treeView2.Nodes[0].IsExpanded)
_treeView2.CollapseAll();
else
_treeView2.ExpandAll();
//treeView1.EndUpdate();
label6.Text = TimeCounter.Finish().ToString();
}
}
}
}
|