创建表单后面所有内容的屏幕截图

本文关键字:屏幕截图 表单 创建 | 更新日期: 2023-09-27 18:26:18

当我创建整个屏幕的屏幕截图时,
所有的东西都在屏幕截图上,还有我的程序的gui。

有没有任何方法可以在没有
的情况下实现干净桌面的屏幕截图最小化屏幕截图前的表单并在屏幕截图后恢复?

解决方案:似乎你必须使窗口不可见,然后最小化它。但是,如果你在最小化它之前将ShowInTaskbar设置为false,就会导致一个尴尬的错误(请参阅下面评论中的屏幕截图)

创建表单后面所有内容的屏幕截图

从程序的角度来看,屏幕只是一个图像,所以如果你的表单在那里,"后面什么都没有"。你必须最小化或使表单不可见,才能实现你想要的。

据我所知,没有一个操作系统允许你访问其图形管道,在你的表格打印之前获得"屏幕截图"将是一项困难的任务(考虑到你可以允许你的表格是屏幕上最后打印的项目)。

无论如何,要走的路是:

  • 最小化窗体或使其不可见:"this.WindowState=FormWindowState.Minimized;","this.Visible=false;"
  • 在任务栏中隐藏它"this.ShowInTaskbar=false;"
  • 使用"CopyFromScreen"进行屏幕截图

然后最大化你的表单,使其再次出现在任务栏中。