Vb.net 使用具有重叠控件和形状的DrawtoBitmap

Vb.net 使用具有重叠控件和形状的DrawtoBitmap,vb.net,z-order,drawtobitmap,Vb.net,Z Order,Drawtobitmap,我正在尝试从我的一个表单中重复截图(即,加载具有特定数据的表单,获取并保存截图,然后加载具有不同数据的表单,获取另一个截图,等等) 表单包含重叠的形状和控制元素。当我在屏幕上看到表单时,我得到了正确的z顺序,但在屏幕截图上,z顺序是相反的 我已经在网站上找到了一些解释反向z顺序的方法,同时使用了我目前正在使用的DrawToBitmap方法。我还找到了控件和形状的BringToFront()和SendToBack方法,并尝试使用它们调整z顺序以获得正确的屏幕截图。仍然没有成功 然后我阅读了关于这些

我正在尝试从我的一个表单中重复截图(即,加载具有特定数据的表单,获取并保存截图,然后加载具有不同数据的表单,获取另一个截图,等等)

表单包含重叠的形状和控制元素。当我在屏幕上看到表单时,我得到了正确的z顺序,但在屏幕截图上,z顺序是相反的

我已经在网站上找到了一些解释反向z顺序的方法,同时使用了我目前正在使用的DrawToBitmap方法。我还找到了控件和形状的BringToFront()和SendToBack方法,并尝试使用它们调整z顺序以获得正确的屏幕截图。仍然没有成功

然后我阅读了关于这些方法的报告,发现如下评论:

BringToFront方法可用于将线型、椭圆形或矩形形状控件放置在给定容器中所有其他线型和形状控件的前面。它不会将控件放置在容器中其他类型控件的前面;使用线条和形状控件绘制的图形始终显示在其他控件的后面

是否有机会更改此行为,并使用DrawToBitmap正确截取我的表单的屏幕截图?有没有其他解决办法?我还尝试了Graphics类的CopyFromScreen方法,但我希望整个屏幕截图保存过程能够正常工作,而不显示我要保存的表单