Программирование мобильных устройств на платформе .NET Compact Framework (Салмре) - страница 555

>'управления TreeView

>Const NUMBER_ITEMS As Integer = 800


>'-------------------------------------------------------------------------

>'Код для кнопки "Fill: Baseline"

>'Использование неоптимизированного подхода для заполнения данными элемента

>'управления TreeView

>'-------------------------------------------------------------------------

>Private Sub UnOptimizedFill_Click(ByVal sender As _

> System.Object, ByVal e As System.EventArgs) _

> Handles UnOptimizedFill.Click


> 'Очистить массив для создания одинаковых условий тестирования

> 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


> 'Для повышения корректности тестирования предварительно выполнить

> 'операцию сборки мусора. В РЕАЛЬНЫХ КОДАХ ЭТОГО ДЕЛАТЬ НЕ СЛЕДУЕТ!