Шрифт:
//Для повышения корректности тестирования предварительно выполнить
//операцию сборки мусора
System.GC.Collect;
//Запустить таймер
PerformanceSampling.StartSample(1, "TreeViewClear");
treeView1.Nodes.Clear;
PerformanceSampling.StopSample(1);
System.Windows.Forms.MessageBox.Show(PerformanceSampling.GetSampleDurationText(1));
}
//--------------------------------------------------
//Код для кнопки "Fill: BeginUpdate"
//
//Подход, в котором используется метод BeginUpdate
//--------------------------------------------------
private void UseBeginEndUpdateForFill_Click(object sender, System.EventArgs e) {
//Очистить массив для создания одинаковых условий тестирования
if (treeViewl.Nodes.Count > 0) {
treeView1.BeginUpdate;
treeView1.Nodes.Clear;
treeView1.EndUpdate;
treeView1.Update;
}
//Для повышения корректности тестирования предварительно выполнить
//операцию сборки мусора
System.GC.Collect;
//Запустить таймер
PerformanceSampling.StartSample(2, "Populate - Use BeginUpdate");
//Заполнить данными элемент управления
TreeView treeView1.BeginUpdate;
for (int i = 0; i < NUMBER_ITEMS; i++) {
treeView1.Nodes.Add("TreeItem" + i.ToString);
}
treeView1.EndUpdate;
//Остановить таймер и отобразить результат
PerformanceSampling.StopSample(2);
System.Windows.Forms.MessageBox.Show(PerformanceSampling.GetSampleDurationText(2));
}
//--------------------------------------------------
//Код для кнопки "Clear: BeginUpdate"
//Подход, в котором используется метод BeginUpdate
//--------------------------------------------------
private void UseBeginEndUpdateForClear_Click(object sender, System.EventArgs e) {
//Для повышения корректности тестирования предварительно выполнить
//операцию сборки мусора
System.GC.Collect;
//Запустить таймер
PerformanceSampling.StartSample(3, "Clear - Use BeginUpdate");
treeView1.BeginUpdate;
treeView1.Nodes.Clear;
treeView1.EndUpdate;
//Остановить таймер и отобразить результат
PerformanceSampling.StopSample(3);
System.Windows.Forms.MessageBox.Show(PerformanceSampling.GetSampleDurationText(3));
}
//-------------------------------------
//Код для кнопки "Fill: Use Array"
//
//Подход, в котором используется массив
//-------------------------------------
private void FillArrayBeforeAttachingToTree_Click(object sender, System.EventArgs e) {
//Очистить массив для создания одинаковых условий тестирования
if (treeView1.Nodes.Count > 0) {
treeView1.BeginUpdate;
treeView1.Nodes.Clear;
treeView1.EndUpdate;
treeView1.Update;
}
//Для повышения корректности тестирования предварительно выполнить
//операцию сборки мусора
System.GC.Collect;