private void timer1_Tick(object sender, EventArgs e)
{
//Задаем максимальное значение progressBar1.Maximum
//индикатора процесса,
//равное высоте заполняемой панели picturebox1.Height:
progressBar1.Maximum = pictureBox1.Height;
//Если текущее значение Value индикатора
//стало больше максимального значения:
if (progressBar1.Value >= progressBar1.Maximum)
{
//отключаем таймер:
timer1.Enabled = false;
}
else
{
//Увеличиваем текущее значение Value индикатора
//на величину шага Step:
progressBar1.PerformStep();
//Перерисовываем клиентскую область
//элемента управления PictureBox
//через каждый Interval времени:
pictureBox1.Refresh();
}
}
В качестве следующего примера из списка методов класса Graphics (рис. 57.1) выберем второй метод FillEllipse для заполнения фигуры в виде эллипса. На листинге 57.1 заменим одну строку кода (с методом FillRectangle) на строку кода с методом FillEllipse:
myGraphics.FillEllipse(myHatchBrush, 0, 0, -
picturebox1.Size.Width, filled_height);
На листинге 57.1 заменим одну строку кода (с методом FillRectangle) на строку кода с методом FillPie:
myGraphics.FillPie(myHatchBrush, 0, 0,
pictureBox1.Size.Width, pictureBox1.Size.Height –
progressBar1.Height, 0, filled_height);
Если строку кода с методом FillPie записать в таком виде:
myGraphics.FillPie(myHatchBrush, 0, 0,
pictureBox1.Size.Height, pictureBox1.Size.Height –
ProgressBar1.Height, 0, filled_height);
то получим частный случай заполнения сектора в круге (рис. 57.7).