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

Odpowiedz Nowy wątek
e-ax
2009-07-03 23:00
e-ax
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ę

Pozostało 580 znaków

2009-07-04 01:11

Rejestracja: 11 lat temu

Ostatnio: 7 lat temu

0

Odśwież kontrolkę: Refresh


Pozostało 580 znaków

e-ax
2009-07-04 13:31
e-ax
0

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

Pozostało 580 znaków

Odpowiedz

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