> 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()
>'--------------------------------------------------
>Private Sub UseBeginEndUpdateForClear_Click(ByVal sender As _
> System.Object, ByVal e As System.EventArgs) _
> Handles UseBeginEndUpdateForClear.Click
> 'Для повышения корректности тестирования предварительно выполнить
> 'операцию сборки мусора. В РЕАЛЬНЫХ КОДАХ ЭТОГО ДЕЛАТЬ НЕ СЛЕДУЕТ!
> System.GC.Collect()
> 'Запустить таймер
> PerformanceSampling.StartSample(3, "Clear - Use BeginUpdate")
> TreeView1.BeginUpdate()
> TreeView1.Nodes.Clear()
> TreeView1.EndUpdate()
> 'Остановить таймер и отобразить результат
> PerformanceSampling.StopSample(3)
> MsgBox(PerformanceSampling.GetSampleDurationText(3))
>End Sub
>'-------------------------------------
>'Код для кнопки "Fill: Use Array"
>'Подход, в котором используется массив
>'-------------------------------------
>Private Sub FillArrayBeforeAttachingToTree_Click(ByVal _
> sender As System.Object, ByVal e As System.EventArgs) _
> Handles FillArrayBeforeAttachingToTree.Click
> 'Очистить массив для создания одинаковых условий тестирования
> If (TreeView1.Nodes.Count > 0) Then
> TreeView1.BeginUpdate()
> TreeView1.Nodes.Clear()
> TreeView1.EndUpdate()
> TreeView1.Update()
> End If
> 'Для повышения корректности тестирования предварительно выполнить
> 'операцию сборки мусора. В РЕАЛЬНЫХ КОДАХ ЭТОГО ДЕЛАТЬ НЕ СЛЕДУЕТ!
> System.GC.Collect()
> 'Запустить таймер
> PerformanceSampling.StartSample(4, "Populate - Use Array")
> 'Распределить память для нашего массива узлов дерева
> Dim newTreeNodes() As System.Windows.Forms.TreeNode
> ReDim newTreeNodes(NUMBER_ITEMS - 1)
> 'Заполнить массив
> Dim i As Integer
> For i = 0 To NUMBER_ITEMS - 1
> newTreeNodes(i) = _
> New System.Windows.Forms.TreeNode("TreeItem" + _
> i.ToString())
> Next
> 'Связать массив с элементом управления TreeView
> TreeView1.BeginUpdate()
> TreeView1.Nodes.AddRange(newTreeNodes)
> TreeView1.EndUpdate()
> 'Остановить таймер и отобразить результат
> PerformanceSampling.StopSample(4)
> MsgBox(PerformanceSampling.GetSampleDurationText(4))