Так как вы не опубликовали код, вы оставляете все ваши читатели в догадках. Я предполагаю, что вы, скорее всего, используете CreateGraphics, что, вероятно, является ошибкой.
Событие рисования вашей панели должно выглядеть примерно так:
private void panel1_Paint(object sender, PaintEventArgs e) {
e.Graphics.SmoothingMode = SmoothingMode.AntiAlias;
e.Graphics.FillEllipse(Brushes.Red, new Rectangle(10, 10, 32, 32));
}
Вы делаете все свои рисунки в событии рисования. Для принудительного обновления просто позвоните panel1.Invalidate()
.
Если рисовать на растровом изображении, вы можете обработать его следующим образом:
Bitmap bmp = new Bitmap(500, 500);
private void button1_Click(object sender, EventArgs e) {
using (Graphics g = Graphics.FromImage(bmp)) {
g.SmoothingMode = SmoothingMode.AntiAlias;
g.Clear(Color.White);
g.FillEllipse(Brushes.Red, new Rectangle(10, 10, 32, 32));
}
panel1.Invalidate();
}
private void panel1_Paint(object sender, PaintEventArgs e) {
e.Graphics.DrawImage(bmp, new Point(0, 0));
}