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ę