Convert windows form to a picture

2019-01-20 18:13发布

问题:

I looked around and I may have confused google with the keywords.

I am looking to implement a support module in my windows forms application where when a user clicks on a button, an email is sent to the support team, with an attachment of a screenshot (form in question)

I am looking for something like

form.SaveAsImage(path)

any thoughts on how this can be implemented or have I missed the obvious

.net 3.5

回答1:

Try using the Control.DrawToBitmap method and make sure the form has focus when you run the code.

using (Graphics gfx = form.CreateGraphics())
{
    using (Bitmap bmp = new Bitmap(form.Width, form.Height, gfx))
    {
        form.DrawToBitmap(bmp, new Rectangle(0, 0, form.Width, form.Height));
        bmp.Save(fileName);
    }
}


回答2:

There appears to be a Howto on this: "HowTo: Print a Windows Form"

However, I really think that you should implement printing in your application. Perhaps this will help(?): http://msdn.microsoft.com/en-us/magazine/cc188767.aspx