Quantcast
Channel: Windows Forms General forum
Viewing all articles
Browse latest Browse all 12583

C# Double Buffered not painting

$
0
0

Hello :) Currently, I simulate map navigation and draw generated part of the map on a panel. Since image is flickering I have to use double buffering.

Here's my Panel code:

public class MapPanel : System.Windows.Forms.Panel
    {
        public MapPanel()
        {
            DoubleBuffered = true;
            ResizeRedraw = true;
        }
    }

And I have the following method:

public void panelMap_Paint(object sender, PaintEventArgs e)
        {
            using (Graphics g = e.Graphics)
            {
                g.DrawImage(mapController.GetCurrentMap(), 0, 0, panelMap.Width, panelMap.Height);
            }
        }

I'm not calling this method. I have the following code in .Designer.cs:

this.panelMap.Paint += new PaintEventHandler(this.panelMap_Paint);

And call Invalidate() in MouseMove. I'm sure that this event occurs, I've checked it. Everything seems to be correct.

And then the image is not drawing. I mean, the panel is empty and seems to be transparent or colored in default control color. However, if I turn double buffering off, the image is properly drawn, but, obviously, it's flickering. Could you help me?






Viewing all articles
Browse latest Browse all 12583

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>