.NET 2.0 WinForm打印屏幕

Bla*_*hor 0 .net c# printing winforms

我想打印一个对话框的图像,就像使用[alt] [Print Scrn]一样.框架是否允许以编程方式完成此操作?

BFr*_*ree 8

Graphics.CopyFromScreen(..)方法应该做你所需要的.

这是我在网上找到的一个很好的样本:

http://www.geekpedia.com/tutorial181_Capturing-screenshots-using-Csharp.html

编辑:代码示例:(我创建它作为扩展方法)

public static class FormExtensions
{
    public static void SaveAsImage(this Form form, string fileName, ImageFormat format)
    {
        var image = new Bitmap(form.Width, form.Height);
        using (Graphics g = Graphics.FromImage(image))
        {
            g.CopyFromScreen(form.Location, new Point(0, 0), form.Size);
        }
        image.Save(fileName, format);
    }
}
Run Code Online (Sandbox Code Playgroud)

可以使用:

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
        this.SaveAsImage("foo.bmp", ImageFormat.Bmp);
    }
}
Run Code Online (Sandbox Code Playgroud)