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;
#endif
}
Не допускайте, чтобы пользователю оставалось лишь догадываться о ходе выполнения приложения