When I minimize my application all of my drawings disappears

萝らか妹 提交于 2020-01-04 05:09:45

问题


I am building a C# app that shows the trajectory of a cannonball. But when I minimize it the trajectory I have drawn to a picture box are gone when I bring it back up. Is there an easy way to stop this?


回答1:


I bet your drawing in the mouse event. Use the onpaint event and you should be good to go.

Edit:

Here is a decent drawing tutorial using the onpaint() event:

http://www.geekpedia.com/tutorial50_Drawing-with-Csharp.html




回答2:


When the window is restored it will need to redraw the form. If you do not have your drawing as part of the paint event, then it will not be redrawn.




回答3:


This question is very similar to this one

Saving a Graphics content to a file

As the others have already stated the problem is when you draw onto a graphics object, there is nothing retained. It is called persistent graphics. Sometimes you want this behavior, more often than not you don't.

You should do your drawing onto a bitmap, then copy the bitmap to your picturebox.Image. The other option as stated in the other answers, is do your drawing routines in the OnPaint Method.

Read my answer in the above. The title is misleading, he thought he had to save to a file to gain persistence, but we showed him otherwise.

EDIT Here is the important code from the above link

Bitmap buffer; 
public Form1()
{
    InitializeComponent();
    panel1.BorderStyle = BorderStyle.FixedSingle;
    buffer = new Bitmap(panel1.Width,panel1.Height);
    //Make sure you resize your buffer whenever the panel1 resizes.
}

private void button1_Click(object sender, EventArgs e)
{
    using (Graphics g = Graphics.FromImage(buffer))
    {
        g.DrawRectangle(Pens.Red, 100, 100,100,100);
    }
    panel1.BackgroundImage = buffer;
}



回答4:


i was having same problem just used mainp.refresh() after event change

mainp was my panel in which i was drawing my all graphics



来源:https://stackoverflow.com/questions/10898351/when-i-minimize-my-application-all-of-my-drawings-disappears

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!