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

>Private Sub instrumented_logEventOccurrence(ByVal eventData _

> As String)

> 'Создать журнал событий, если он еще не был создан

> If (m_instrumentedEventLog Is Nothing) Then

>  m_instrumentedEventLog = _

>   New System.Collections.ArrayList

> End If


> 'Зарегистрировать событие

> m_instrumentedEventLog.Add(eventData)

>End Sub


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

>'Отобразить список возникших событий

>'Примечание: Этот вариант реализации довольно груб.

>' Целесообразнее отображать список событий

>' в отдельном диалоговом окне, которое специально выводится

>' для этого на экран.

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

>Private Sub instrumentation_ShowEventLog() Dim listItems As _

> System.Windows.Forms.ListBox.ObjectCollection

> listItems = listBoxEventLog.Items


> 'Очистить список элементов

> listItems.Clear()

> 'При отсутствии событий - выход

> If (m instrumentedEventLog Is Nothing) Then

>  listItems.Add("0 событий")

>  Return

> End If


> 'Отобразить поверх списка общее количество

> 'подсчитанных нами событий

> listItems.Add(m_instrumentedEventLog.Count.ToString() + _

>  " событий")


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

> 'первыми отображались самые последние из них

> Dim logItem As String

> Dim listIdx As Integer

> For listIdx = _

>  m_instrumentedEventLog.Count - 1 To 0 Step -1

>  logItem = CStr(m_instrumentedEventLog(listIdx))

>  listItems.Add(logItem)

> Next

>End Sub

>#End If


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

>'Событие изменения состояния переключателя RadioButton1

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

>Private Sub RadioButton1_CheckedChanged(ByVal sender As _

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

> Handles RadioButton1.CheckedChanged

> 'Если обновление данных в пользовательском интерфейсе осуществляется

> 'приложением, то мы не хотим обрабатывать его так же, как если бы

> 'это событие было запущено пользователем. Если это именно так,

> 'то осуществить выход из функции без выполнения каких-либо действий.

> If (m userInterfaceUpdateOccuring = True) Then

>  Return

> End If


> 'Подсчитать, сколько раз выполнена обработка данного события

> m_radioButtonlChangeEventCount = _

>  m_radioButtonlChangeEventCount + 1


>#If (EVENTINSTRUMENTATION <> 0) Then

> 'Зарегистрировать наступление события

> instrumented_logEventOccurrence("radioButton1.Change:" + _

>  m_radioButton1ChangeEventCount.ToString() + ":" + _

>  RadioButton1.Checked.ToString()) 'value

>#End If

>End Sub


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

>'Событие щелчка на кнопке Button1

>'Имитирует обновление пользовательского интерфейса программным