Исходник таймера рабочего времени написан на языке программирования C#. Звуковые функции Beep(...)PlaySound(...) импортируются DllImport("Kernel32") из базовой Windows API на языке С. Звуки озвучивают события наступления отдыха и начало работы. NotifyIcon в виде анимации маятника часов визуализирует информацию работы таймера и выводят окно прошедшего времени работы на компьютере.
При написании исходного кода программы использовались:
Timer timerWork Timer timerRest: Таймер-счетчик рабочего времени, Таймер-счетчик времени отдыха.
MouseDown контекстное меню управления программой: программа не имеет главного меню, кнопок и других элементов управления, все действия предоставляет контекстное меню.
PictureBox класс привлекательности приложения:
"Классный" класс, предоставляющий возможность использования практически любых форматов изображений, даже анимационных. Позволяет пользователю выбирать вид приложения по своему усмотрению.
Registry класс сохранения пользовательских настроек:
Создает в реестре подключи с значениями настроек программы и при запуске приложения считывает эти значения. При желании пользователь может поместить программу-таймер в автозапуск либо удалить ее из автозапуска.
NotifyIcon класс индикации работы таймера:
При работе программы справа в строке состояния рабочего стола появляется иконка маятника. При запуске таймера работы, маятник начинается раскачиваться. При наведении курсора мыши на эту иконку появляется подсказка с текущим временем работы.
Thread класс запуска отдельным потоком функции появления формы после срабатывания таймера:
Плавное появление формы обеспечивается задержкой работы потока, для качественной прорисовки формы и разгрузки основного потока используется дополнительный рабочий поток.
ProgressBar класс визуализации отсчета оставшегося время отдыха:
При включении таймера отдыха начинается обратный отсчет, по окончании отдыха пользователя оповещает звуковой сигнал. Так как Framework1.1 не содержит функций работы со звуком, были использованы динамические библиотеки на С и С++.
Вспомогательные классы и функции для полноценной работы программы.