>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
>'Имитирует обновление пользовательского интерфейса программным