EDITED
繪製你的面板中的內容。這應其Paint事件處理程序內部完成,像這樣:
private void panel1_Paint(object sender, PaintEventArgs e)
{
using (Pen p = new Pen(Color.Red, 3))
{
// get the panel's Graphics instance
Graphics gr = e.Graphics;
// draw to panel
gr.DrawLine(p, new Point(30, 30), new Point(80, 120));
gr.DrawEllipse(p, 30, 30, 80, 120);
}
}
保存您的面板中的內容爲圖像。這部分應該在其他地方進行(例如,當你點擊「保存」按鈕):
private void saveButton_Click(object sender, EventArgs e)
{
int width = panel1.Size.Width;
int height = panel1.Size.Height;
using (Bitmap bmp = new Bitmap(width, height))
{
panel1.DrawToBitmap(bmp, new Rectangle(0, 0, width, height));
bmp.Save(@"C:\testBitmap.jpeg", ImageFormat.Jpeg);
}
}
字裏行間,似乎你的形象被「丟失」當最小化和還原表?我猜你可能使用過CreateGraphics()來完成你的繪圖。在面板的Paint()事件中使用「e.Graphics」,並存儲關於在Class級別繪製什麼的數據,以便在Form恢復時自動重畫。如果您向我們展示您最初如何創建繪圖,那麼我們可以幫助您解決問題。 – 2013-05-04 16:16:50