Теперь разработаем методику создания анимации, на основании которой разработаем первый эффект анимации для данной Form1.
2.7. Общая методика создания анимации
Разработаем общую методику создания анимации в различных приложениях и апробируем её на примере создания мигающего заголовка формы, точнее, создания чередующегося заголовка, когда одно название заголовка будем сменяться другим названием с заданной нами частотой (или интервалом времени). По этой методике анимационный заголовок можно встроить в любое приложение.
Для создания любой анимации необходимо ввести компонент Timer по схеме:
1. На панели инструментов Toolbox щёлкаем строку Timer (рис. 2.3).
2. Щёлкаем на форме.
Ниже Form1 появляется значок с надписью timer1 (рис. 2.9), который можно захватить мышью и перенести в другое место.
Отметим, что в отличие от элементов управления компоненты располагаются вне формы и поэтому на форме в режиме выполнения не видны.
3. В панели Properties с заголовком timer1:
в свойстве Enabled вместо False выбираем True (рис. 2.10);
в свойстве Interval вместо заданных по умолчанию 100 миллисекунд задаём, например, значение 500 миллисекунд (напомним, что 1000 миллисекунд равны 1 секунде).
Естественно, эти установки можно выполнить не только в панели Properties, но и в программе, например, при помощи следующего кода.
Листинг 2.2. Метод для включения таймера и задания интервала времени.
private void InitializeTimer()
{
//We turn on the timer:
timer1.Enabled = true;
//We generate the Tick event through each Interval of time:
timer1.Interval = 500;
}
Рис. 2.9. Значок компонента Timer. Рис. 2.10. Панель Properties.
Теперь в режиме выполнения проекта с интервалом в эти 500 миллисекунд (или 0,5 секунды) будет генерироваться запрограммированное нами событие Tick и выполняться при помощи метода timer1_Tick (см. ниже листинг 2.3), а именно, в данной главе будет мигать заголовок формы.
Следовательно, мы закончили визуальную разработку анимационного эффекта и теперь нам необходимо написать код программы. Этот код может иметь много вариантов.
Рассмотрим, например, три варианта:
1) анимация выполняется безостановочно столько, сколько выполняется наше приложение, и анимационный объект (текст, кнопка, цвет и т.д.) изменяется за каждый интервал времени Interval;
2) анимация выполняется безостановочно столько, сколько выполняется наше приложение, но анимационный объект изменяется не за каждый интервал времени Interval, а через заданное нами число интервалов N_Interval ;
3) анимация выполняется столько времени, какое число интервалов времени мы задали, и после этого времени анимационный объект останавливается в заданном нами положении.
Сначала изучим первый вариант, когда анимация выполняется безостановочно за каждый интервал времени Interval. Для этого дважды щёлкаем значок timer1 (рис. 2.8) в режиме проектирования (или в панели Properties на вкладке Events дважды СКАЧАТЬ