Листинг 66.1. Метод для компонента Timer.
//Объявляем глобальную переменную currentImage
//для номера текущего рисунка и приравниваем нулю:
int currentImage = 0;
private void timer1_Tick(object sender, EventArgs e)
{
//Последовательно выводим рисунки:
if(imageList1.Images.Empty != true)
{
//Центрируем рисунок внутри рамки PictureBox1:
pictureBox1.SizeMode =
PictureBoxSizeMode.CenterImage;
//Выводим рисунок с номером 'currentImage' :
pictureBox1.Image =
imageList1.Images[currentImage];
//Организовываем цикл по индексу 'currentImage' :
currentImage = currentImage + 1;
if (currentImage == imageList1.Images.Count)
currentImage = 0;
}
}
В этом коде главным является вызов свойства Image, при помощи которого текущий рисунок загружается в рамку элемента управления pictureBox1.
Чтобы установить значение свойства Interval компонента Timer в зависимости от свойства Value ползунка элемента управления TrackBar, дважды щелкаем элемент управления TrackBar в режиме проектирования. Появляется файл Form1.cs с шаблоном, который после записи нашего кода принимает следующий вид.
Листинг 66.2. Метод для элемента управления TrackBar.
private void trackBar1_Scroll(object sender, EventArgs e)
{
timer1.Enabled = true;
timer1.Interval = trackBar1.Value;
}
Согласно разработанной выше методике, чтобы иметь возможность приостановить (и запустить вновь) процесс анимации на любом рисунке при помощи кнопки Stop/Start Animation, дважды щелкаем эту кнопку в режиме проектирования (рис. 66.1). Появляется файл Form1.cs с шаблоном, который после записи нашего кода принимает такой вид.
Листинг 66.3. Метод для кнопки Stop/Start Animation.
bool OffOn = false;
private void button6_Click(object sender, EventArgs e)
{
//Задаем чередование остановки и возобновления анимации