Obrazek do panelu = migotanie orazu

0

Hej,

Mam podzielony formularz na trzy części za pomocą "split container" (horizontal).
Chcę wstawić "zwykły" obrazek:

        public Form1()
        {
            InitializeComponent();

            splitContainer1.IsSplitterFixed = true;
        }

        private void splitContainer2_Panel1_Paint(object sender, PaintEventArgs e)
        {
            Pen blackPen = new Pen(Color.Black, 2);

            int a = splitContainer2.Panel1.Width;
            int b = splitContainer2.Panel1.Height;

            e.Graphics.DrawRectangle(blackPen, 1, 1, a - 6, b - 6);

        }

        private void splitContainer2_Panel2_Paint(object sender, PaintEventArgs e)
        {
            Pen blackPen = new Pen(Color.Red, 2);
             
            int a = splitContainer2.Panel2.Width;
            int b = splitContainer2.Panel2.Height;

            e.Graphics.DrawRectangle(blackPen, 1, 1, a - 6, b - 6);

            splitContainer2.Panel2.BackgroundImage = Image.FromFile("C://Pictures//none.gif");
        }

Efektem jest ciągłe migotanie obrazu (odświerzanie panelu 2), podczas gdy panel1 wyświetlany jest normalnie.
"none.gif" to plik 128x128 pikseli, o wadze 4kB.

Jaka może być przyczyna?

1

Stawiam na Image.FromFile("C://Pictures//none.gif");.
Załaduj sobie background image wcześniej, a nie za każdym razem gdy wywoływana jest metoda Paint.

0

OT: Ja to każde wspomnienie jaki mam z grafiką rastrową w Formsach, to złe wspomnienie xD a jesli ma się jeszcze coś z nią dziać (skalowanie, przesuwanie, animowanie po ekranie), to już w ogóle była zabawa.
Mam nadzieje, że po tylu latach .net framework to jakoś ogarnia już

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