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

> 'обратно в узел Name

>  Case ReadLocation.inLastName

>   currentReadLocation = ReadLocation.inName


> 'Если мы покидаем узел UserID, то должны вернуться

> 'обратно в узел UserInfo

> Case ReadLocation.inUserID

>  currentReadLocation = ReadLocation.inUserInfo


> 'Если мы покидаем узел UserInfo, то мы только что

> 'закончили чтение данных в узлах UserID, FirstName

> 'и LastName

> '

> 'Можно выйти из цикла, поскольку у нас уже есть вся

> 'информация, которую мы хотели получить!

> 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

Примеры к главе 11 (производительность и графика)

Листинг 11.1. Заполнение данными и очистка от них элементов управления TreeView с использованием альтернативных стратегий

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

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

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

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

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

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

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

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

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