加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 如何使用UserControl获取Form的截图?

发布时间:2020-12-15 22:24:52 所属栏目:百科 来源:网络整理
导读:我想获得MainForm of Application的截图.我使用以下代码. Bitmap bitmap = new Bitmap(MainForm.Width,MainForm.Height);DrawToBitmap(bitmap,new Rectangle(0,bitmap.Width,bitmap.Height));pictureBox1.Image = bitmap; 我在MainForm中有一些用户控件.我只
我想获得MainForm of Application的截图.我使用以下代码.

Bitmap bitmap = new Bitmap(MainForm.Width,MainForm.Height);
DrawToBitmap(bitmap,new Rectangle(0,bitmap.Width,bitmap.Height));
pictureBox1.Image = bitmap;

我在MainForm中有一些用户控件.我只能使用上面的代码获取MainForm的屏幕截图.我无法获得用户控件的屏幕截图.

任何人都可以建议我如何使用表单的用户控件获取Windows窗体的屏幕截图?

解决方法

这应该这样做:

private void CaptureForm()
{
    var bmp = new Bitmap(MainForm.Width,MainForm.Height,PixelFormat.Format32bppArgb);

    var g = Graphics.FromImage(bmp);
    g.CopyFromScreen(MainForm.Location.X,MainForm.Location.Y,MainForm.Size,CopyPixelOperation.SourceCopy);

    //Clipboard.SetImage(bmp);

    pictureBox1.Image = bmp;
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读