Компьютерная графика, мультимедиа и игры на Visual C#


Глава Управляемое заполнение фигур


 

Листинг 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.




Начало  Назад  Вперед



Книжный магазин