Программирование мобильных устройств на платформе .NET Compact Framework
Шрифт:
//-----------------------------------------------------------------------
//Флаг, указывающий обработчикам событий, должен ли из них осуществляться
//выход без выполнения каких-либо действий
//-----------------------------------------------------------------------
bool m_userInterfaceUpdateOccuring;
//Счетчики событий
private int m_radioButton1ChangeEventCount;
private int m_textBox1ChangeEventCount;
//-------------------------------------------------------------------------
//Код,
который следует включать лишь в том случае, если приложение
//выполняется в режиме контроля запуска событий. Этот код характеризуется
//относительно высокими накладными расходами, и его следует компилировать и
//выполнять только тогда, когда выполняется диагностика.
//-------------------------------------------------------------------------
#if EVENTINSTRUMENTATION
private System.Collections.ArrayList m_instrumentedEventLog;
//------------------------------------------------------------------------
//Заносит записи о возникновении событий в массив, который мы
//можем просмотреть
//Примечание: Не делается никаких попыток ограничить размерность массива
// регистрационных записей, поэтому, чем дольше выполняется
// приложение, тем больше становится размер массива
//------------------------------------------------------------------------
private void instrumented_logEventOccurrence(string eventData) {
//Создать журнал событий, если он еще не был создан
if (m_instrumentedEventLog == null) {
m_instrumentedEventLog = new System.Collections.ArrayList;
}
//Зарегистрировать событие
m_instrumentedEventLog.Add(eventData);
}
//------------------------------------------------------------------------
//Отобразить список возникших событий
//Примечание: Этот вариант реализации довольно груб.
// Целесообразнее отображать список событий
// в отдельном диалоговом окне, которое специально выводится
// для этого на экран.
//------------------------------------------------------------------------
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 + ":" + //Количество раз
Поделиться:
Популярные книги
Барон играет по своим правилам
5. Закон сильного
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Сердце Дракона. нейросеть в мире боевых искусств (главы 1-650)
Фантастика:
фэнтези
героическая фантастика
боевая фантастика
7.51
рейтинг книги
Герцогиня в ссылке
2. Магия стихий
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Ну привет, заучка...
Любовные романы:
эро литература
короткие любовные романы
8.30
рейтинг книги
На Ларэде
3. Лэрн
Фантастика:
фэнтези
героическая фантастика
стимпанк
5.00
рейтинг книги
Сердце Дракона. Том 12
12. Сердце дракона
Фантастика:
фэнтези
героическая фантастика
боевая фантастика
7.29
рейтинг книги
Истинная поневоле, или Сирота в Академии Драконов
3. Академия Драконов, или Девушки с секретом
Любовные романы:
любовно-фантастические романы
6.37
рейтинг книги
Кодекс Охотника. Книга VI
6. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Гардемарин Ее Величества. Инкарнация
1. Гардемарин ее величества
Фантастика:
городское фэнтези
попаданцы
альтернативная история
аниме
фантастика: прочее
5.00
рейтинг книги
Сама себе хозяйка
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Душелов. Том 3
3. Внутренние демоны
Фантастика:
альтернативная история
аниме
фэнтези
ранобэ
хентай
5.00
рейтинг книги
Газлайтер. Том 10
10. История Телепата
Фантастика:
боевая фантастика
5.00
рейтинг книги
Стеллар. Заклинатель
3. Стеллар
Фантастика:
боевая фантастика
8.40
рейтинг книги
Возвышение Меркурия. Книга 5
5. Меркурий
Фантастика:
боевая фантастика
попаданцы
аниме
5.00