Событие Form1_Paint - PullRequest
       7

Событие Form1_Paint

0 голосов
/ 10 апреля 2011

Интересно, как это работает ..

У меня есть этот код. он должен рисовать картинки (растровые изображения) на форме .. постоянно. но я не знаю, как часто это срабатывает. Мне нужно, чтобы это срабатывало очень часто (по крайней мере, каждые 1-2 секунды). мне нужно, чтобы отправить параметры другому объекту, который у меня есть (Game game) .. поэтому игровой объект будет рисовать все

   public void Form1_Paint(object sender, EventArgs e)
{

        //the animation has 4 cell to draw, so the arguments are passed to the game objects instructing it to which cells to draw.
        using (Graphics g = this.CreateGraphics())
        {
            game.Draw(g, animationTimerCounter);
        }
}

когда происходит событие?

Ответы [ 3 ]

1 голос
/ 10 апреля 2011

Событие рисования вызывается, когда необходимо перерисовать форму (или ее часть), например, форма перемещена, или другое окно скрыло ее часть и т. д.

Вы можете вызвать событие Paint, вызвав метод yourControl.Invalidate().

В вашем случае вы могли бы использовать, например, Таймер, чтобы заставить рисовать с желаемой частотой (например, каждые 1-2 секунды).

1 голос
/ 10 апреля 2011

Краска в основном запускается по мере необходимости, примерами могут быть события, которые вызывают рисование, например (есть и другие):

  • Передняя форма перемещается
  • Вы формируетеизменяет размер
  • ваша форма восстановлена ​​

Это XNA?Похоже, это похожий эффект.XNA - это хорошая основа для того, что, по вашему мнению, вы пытаетесь сделать.

Если вам нужна ваша форма для рисования, вы можете сделать ее недействительной или попросить ее нарисовать.

0 голосов
/ 10 апреля 2011

Событие Paint возникает при перерисовке элемента управления. Событие Control.Paint в MSDN

...