If (TreeView1.Nodes.Count > 0) Then
TreeView1.BeginUpdate
TreeView1.Nodes.Clear
TreeView1.EndUpdate
TreeView1.Update
End If
'Для повышения корректности тестирования предварительно выполнить
'операцию сборки мусора. В реальных кодах этого делать не следует!
System.GC.Collect
'Запустить таймер
PerformanceSampling.StartSample(0, "TreeViewPopulate")
'Заполнить данными элемент управления TreeView
Dim i As Integer
For i = 1 To NUMBER_ITEMS
TreeView1.Nodes.Add("TreeItem" + CStr(i))
Next
'Остановить таймер и отобразить результат
PerformanceSampling.StopSample(0)
MsgBox(PerformanceSampling.GetSampleDurationText(0))
End Sub
'-------------------------------------------------------------------------
'Код для кнопки "Clear: Baseline"
'Использование неоптимизированного подхода для заполнения данными элемента
'управления TreeView
'-------------------------------------------------------------------------
Private Sub UnOptimizedClear_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles UnOptimizedClear.Click
'Для повышения корректности тестирования предварительно выполнить
'операцию сборки мусора
System.GC.Collect
'Запустить таймер
PerformanceSampling.StartSample(1, "TreeViewClear")
TreeView1.Nodes.Clear
PerformanceSampling.StopSample(1)
MsgBox(PerformanceSampling.GetSampleDurationText(1))
End Sub
'--------------------------------------------------
'Код для кнопки "Fill: BeginUpdate"
'Подход, в котором используется метод BeginUpdate
'--------------------------------------------------
Private Sub UseBeginEndUpdateForFill_Click(ByVal sender As _
System.Object, ByVal e As System.EventArgs) _
Handles UseBeginEndUpdateForFill.Click
'Очистить массив для создания одинаковых условий тестирования
If (TreeView1.Nodes.Count > 0) Then
TreeView1.BeginUpdate
TreeView1.Nodes.Clear
TreeView1.EndUpdate
TreeView1.Update
End If
'Для повышения корректности тестирования предварительно выполнить
'операцию сборки мусора. В РЕАЛЬНЫХ КОДАХ ЭТОГО ДЕЛАТЬ НЕ СЛЕДУЕТ!
System.GC.Collect
'Запустить таймер
PerformanceSampling.StartSample(2, _
"Populate - Use BeginUpdate")
'Заполнить данными элемент управления TreeView
TreeView1.BeginUpdate
Dim i As Integer
For i = 1 To NUMBER_ITEMS
TreeView1.Nodes.Add("TreeItem" + i.ToString)
Next
TreeView1.EndUpdate
'Остановить таймер и отобразить результат
PerformanceSampling.StopSample(2)
MsgBox(PerformanceSampling.GetSampleDurationText(2))
End Sub
'--------------------------------------------------
'Код для кнопки "Clear: BeginUpdate"
'Подход, в котором используется метод BeginUpdate