切换最顶层的forms,没有闪烁

我正在使用C#.NET开发一个放大镜(使用WindowsForm),它显示了最顶层的可点击forms。 最顶部的窗口显示屏幕的特定部分。

我遇到的问题是我需要Hide()Show()表格的屏幕截图(否则我会拍摄放大镜的截图)这会产生恼人的闪烁,其中放大镜消失并迅速再次出现。

如何在不隐藏/显示表单的情况下拍摄桌面的屏幕截图? 还有其他方法/解决方法吗?

谢谢。

使用表单的不透明度属性。 在设计师中将其设置为99%。 当您准备拍摄屏幕截图时,将其设置为0,进行拍摄并将其重新设置为0.99。

变化是即时的,无需等待,也不需要闪烁或重新粉刷。 不要将它恢复到1.0,那就会闪烁。

请注意从放大镜中移除“镜厅”效果。 有点亏:)