Case ReadLocation.inUserInfo

  Return False 'Анализ должен быть прекращен

 End Select

 Return True

 'Продолжить анализ

End Function

Private Shared Sub LoadHelper_NewElementEncountered( _

 ByVal nodeName As String, _

 ByRef currentReadLocation As ReadLocation)

 '----------------------------------------------------

 'Мы вошли в новый элемент!

 'В какое состояние переход возможен, зависит от того,

 'в каком состоянии мы находимся в данный момент

 '----------------------------------------------------

 Select Case (currentReadLocation)

 'Если мы находимся в узле AllMyData, то переход возможен

 'в узлы, которые указаны ниже

 Case (ReadLocation.inAllMyData)

  If (nodeName = XML_USERINFO_TAG) Then

   currentReadLocation = ReadLocation.inUserInfo

  End If

 'Если мы находимся в узле UserInfo, то переход возможен

 'в узлы, которые указаны ниже

 Case (ReadLocation.inUserInfo)

  If (nodeName = XML_USERID_TAG) Then

   currentReadLocation = ReadLocation.inUserID

  ElseIf (nodeName = XML_NAMEINFO_TAG) Then

   currentReadLocation = ReadLocation.inName

  End If

 'Если мы находимся в узле Name, то переход возможен

 'в узлы, которые указаны ниже

 Case (ReadLocation.inName)

  If (nodeName = XML_FIRSTNAME_TAG) Then

   currentReadLocation = ReadLocation.inFirstName

  ElseIf (nodeName = XML LASTNAME_TAG) Then

   currentReadLocation = ReadLocation.inLastName

  End If

 End Select

End Sub

End Class

<p>Примеры к главе 11 (производительность и графика)</p>Листинг 11.1. Заполнение данными и очистка от них элементов управления TreeView с использованием альтернативных стратегий

'----------------------------------------------------------------------------

'Примечание #1: В этом примере используется класс PerformanceSampling,

' определённый ранее в данной книге. Убедитесь в том, что

' вы включили этот класс в свой проект.

'Примечание #2: Этот код необходимо включить в класс Form, содержащий элемент

 ' управления TreeView и кнопки Button, к которым подключены

' приведенные ниже функции xxx_Click.

'----------------------------------------------------------------------------

'Количество элементов, которые необходимо поместить в элемент

'управления 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

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

Перейти на страницу:

Похожие книги