Вход/Регистрация
Программирование мобильных устройств на платформе .NET Compact Framework
вернуться

Салмре Иво

Шрифт:

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))

End Sub

Листинг 11.2. Динамическое заполнение данными элемента управления TreeView

'Фиктивный текст для размещения в заполнителях дочерних узлов

Const dummy_node As String = "_dummynode"

'Метка, которую мы будем использовать для обозначения узла

Const node_needToBePopulated As String = "_populateMe"

'Текст, который мы будем использовать для наших узлов высшего уровня

Const nodeText_Neighborhoods As String = "Neighborhoods"

Const nodeText_Prices As String = "Prices"

Const nodeText_HouseType As String = "HouseTypes"

  • Читать дальше
  • 1
  • ...
  • 268
  • 269
  • 270
  • 271
  • 272
  • 273
  • 274
  • 275
  • 276
  • 277
  • 278
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: