Witam

Pojawił mi się kolejny dziwny problem, którego do końca nie rozumiem - z czego tak naprawdę wynika.

Projektuję program rysujący prymitywy graficzne na kontrolce PictureBox.

Wywołania graficzne ustawione są standardowo

            public partial class pb_TestowaPlanszaGraficzna : Form
        {
            public Graphics pb_DrawArea;

            public pb_TestowaPlanszaGraficzna()
        {
            InitializeComponent();
            pb_DrawArea = pb_PlanszaGraficzna.CreateGraphics();
        }

Wszystkie klasy dla poszczególnych prymitywów zostały wyprowadzone do plików zewnętrznych, i już wtedy nie mogłem uzyskać wyświetlania na powierzchni kontrolki rysowanych figur.
Problem w klasach podrzędnych od Form1 został rozwiązany poprzez dodanie do konstruktorów delegata w formie:

pb_DrawArea = pb_PlanszaGraficzna;

i wywoływanie pb_DrawArea w każdym konstruktorze.
Program zaczął rysować, zapamiętywać listę obiektów, pozwalał na pełną ich modyfikacje.

Obecnie dostałem za zadanie przerobić go tak, aby między innymi zapisywał wynik pracy z kontrolki PictureBox do pliku w formacie graficznym.

prubowałem użyć standardowej formułki:

                SaveFileDialog pb_ZapiszDoPliku = new SaveFileDialog();
                pb_ZapiszDoPliku.Filter = "bmp|*.bmp";
                pb_ZapiszDoPliku.ShowDialog();
                if (pb_ZapiszDoPliku.FileName != "")
                pb_PlanszaGraficzna.Image.Save(pb_ZapiszDoPliku.FileName);

Niestety w wyniku dostawałem tylko pusty plik bez grafiki.
Oczywiście działo się tak dlatego, że prubowałem zapisać nieistniejącą wartość Image.

dodałem wiedz odpowiednie przepisanie Bitmapy na wartość Image w formie:

            pb_PlanszaGraficzna.Image = new Bitmap(500, 400);
            pb_DrawArea = Graphics.FromImage(pb_PlanszaGraficzna.Image);

... ale teraz dla odmiany zapisuje elegancko wszystko co narysuje, ale za to nie kreśli niczego na ekranie.
Oczywiście w celu odświeżenia - odświerzam kontrolke PictureBox

            pb_PlanszaGraficzna.Refresh();

Pytanie - jak co zrobić, aby efekt rysowania był również widoczny na ekranie?