onTick - działa wybiórczo dla zawartych w nim metod?

0

Witam. Piszę sobie właśnie grę - Snake w języku C# i w grze tej rysuję plansze na obiekcie klasy pictureBox. Wszystło ladnie się rysuje, kiedy wywołuję metody rysujące w metodzie np. onLoad formy, natomiast, kiedy utworzę timer dzieje się rzecz dość dziwna.

    public partial class Form1 : Form
    {
        public Graphics g;
        private Board gameBoard;


        public Form1()
        {
            InitializeComponent();
            pictureBox1.Image = new Bitmap(640, 480);
            g = Graphics.FromImage(pictureBox1.Image);
            gameBoard = new Board(g);
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            timer1.Start();
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            g.FillRectangle(new SolidBrush(Color.White), new Rectangle(0,0,640,480));
            MessageBox.Show("hi");
        }

Oto fragment tego dziwnego kodu. Timer ma ustawiony interval na 2000 ms, wiec po 2 sekundach powinien wybielić tło, które domyślnie jest czarne i wyrzucić okno z wiadomością. Ale... funkcja Tick omija metodę rysującą i wyrzuca tylko messageBox. Ten sam kod wrzucony poza Timer działa poprawnie. Mógłby ktoś wyjaśnić w czym tkwi problem? Z góry dziękuję

0

Odśwież kontrolkę: Refresh

0

Ano tak, podziałało :). Jeszcze raz dziękuję bardzo.

1 użytkowników online, w tym zalogowanych: 0, gości: 1