Литмир - Электронная Библиотека
Содержание  
A
A

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

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

//------------------------------------------------------------------------

private void instrumentation_ShowEventLog() {

 System.Windows.Forms.ListBox.ObjectCollection listItems;

 listItems = listBoxEventLog.Items;

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

 listItems.Clear();

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

 if (m_instrumentedEventLog == null) {

  listItems.Add("0 Events");

  return;

 }

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

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

 listItems.Add(m_instrumentedEventLog.Count.ToString() + " Events");

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

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

 string logItem;

 for(int listIdx = m_instrumentedEventLog.Count - 1; listIdx >= 0; listIdx--) {

  logItem=(string) m_instrumentedEventLog[listIdx];

  listItems.Add(logItem);

 }

}

#endif

//------------------------------------------------------

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

//------------------------------------------------------

private void radioButton1_CheckedChanged(object sender, System.EventArgs e) {

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

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

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

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

 if (m_userInterfaceUpdateOccuring == true) {

  return;

 }

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

 m_radioButtonlChangeEventCount++;

#if EVENTINSTRUMENTATION

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

 instrumented_logEventOccurrence("radioButton1.Change:" + //Событие

  m_radioButton1ChangeEventCount.ToString() + ":" +       //Количество раз

  radioButton1.Checked.ToString());                       //Значение

#endif

//-------------------------------------------------------------

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

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

//кодом, что может приводить к запуску обработчика события

//-------------------------------------------------------------

private void button1_Click(object sender, System.EventArgs e) {

 //Указать на то, что мы не хотим, чтобы обработчики сразу же

 //обрабатывали события, поскольку мы обновляем

 //пользовательский интерфейс.

 //m_userInterfaceUpdateOccuring = true;

 radioButton1.Checked = true;

 textBox1.Text = "Hello World";

 //Обновление пользовательского интерфейса завершено

 m_userInterfaceUpdateOccuring = false;

}

//------------------------------------------------------------------

//Обработчик события изменения состояния элемента управления TextBox

//------------------------------------------------------------------

private void textBox1_TextChanged(object sender, System.EventArgs e) {

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

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

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

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

 if (m_userInterfaceUpdateOccuring == true) {

  return;

 }

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

 m_textBox1ChangeEventCount++;

#if EVENTINSTRUMENTATION

 //Занести событие в журнал

 instrumented_logEventOccurrence("textBox1.Change:" + //Событие

  m_textBox1ChangeEventCount.ToString() + ":" +       //Количество раз

  textBox1.Text.ToString());                          //Значение

#endif

}

private void buttonShowEventLog_Click(object sender, System.EventArgs e) {

#if EVENTINSTRUMENTATION

 instrumentation_ShowEventLog();

112
{"b":"947732","o":1}