Листинг 57.1. Метод для элемента управления PictureBox.
//Объявляем глобальную переменную filled_height
//для текущей высоты заполнения фигуры и приравниваем нулю:
int filled_height = 0;
private void pictureBox1_Paint(object sender,
PaintEventArgs e)
{
//Задаем стиль и цвет заполняющих элементов:
HatchBrush myHatchBrush =
new HatchBrush(HatchStyle.Cross, Color.Blue);
//Объявляем объект класса Graphics
//и задаем ему свойство Graphics:
Graphics myGraphics = e.Graphics;
//Заполняем прямоугольник
//на текущую высоту filled_height:
myGraphics.FillRectangle(myHatchBrush, 0, 0,
pictureBox1.Size.Width, filled_height);
//Увеличиваем текущую высоту заполнения
//на следующий шаг progressBar1.Step:
filled_height = filled_height + progressBar1.Step;
}
Дадим краткие пояснения. В главной строке кода:
myGraphics.FillRectangle(myHatchBrush, 0, 0,
pictureBox1.Size.Width, filled_height);
нули (0, 0) соответствуют координатам верхнего левого угла, а последние два параметра (pictureBox1.Size.Width, filled_height) соответствуют ширине и высоте заполняемого прямоугольника в виде элемента управления PictureBox.
Чтобы установить значение свойства Interval компонента Timer в зависимости от свойства Value ползунка элемента управления TrackBar, дважды щелкаем элемент управления TrackBar в режиме проектирования. Появляется файл Form11.cs с шаблоном, который после записи нашего кода принимает такой вид.
Листинг 57.2. Метод для элемента управления TrackBar.
private void trackBar1_Scroll(object sender, EventArgs e)
{
timer1.Enabled = true;
timer1.Interval = trackBar1.Value;
}
Чтобы подключить к работе таймер, дважды щелкаем значок для компонента Timer (ниже формы в режиме проектирования). Появляется файл Form11.cs с шаблоном, который после записи нашего кода принимает следующий вид.
Листинг 57.3. Метод для компонента Timer.