Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将图形发送到其他窗体_C#_Graphics - Fatal编程技术网

C# 如何将图形发送到其他窗体

C# 如何将图形发送到其他窗体,c#,graphics,C#,Graphics,我有两张表格,在这两张表格里我有两块板 在第一种形式中,用户在电路板上放置一些对象。然后点击下一步。我想将精确的图形发送到另一个表单,这样我就可以在第二个表单中绘制相同的内容 我尝试过使用Graphics.Save()和Restore()函数,但没有成功。有什么建议吗 提前感谢。您可能需要在第二个表单上调用Invalidate(),以便在通过后显示图片?如果您将第二张表单最小化,然后将其最大化,并且图像出现,那么这就是问题所在。您所说的板是什么意思?请提供有关表格的更多详细信息。它们是如何关联和

我有两张表格,在这两张表格里我有两块板

在第一种形式中,用户在电路板上放置一些对象。然后点击下一步。我想将精确的图形发送到另一个表单,这样我就可以在第二个表单中绘制相同的内容

我尝试过使用Graphics.Save()和Restore()函数,但没有成功。有什么建议吗


提前感谢。

您可能需要在第二个表单上调用Invalidate(),以便在通过后显示图片?如果您将第二张表单最小化,然后将其最大化,并且图像出现,那么这就是问题所在。

您所说的
板是什么意思?请提供有关表格的更多详细信息。它们是如何关联和实例化的?板是一个图片框,然后用户通过拖放将一些小图片放到图片框上。我用pb上的图形来画图。之后,当用户单击next按钮时,我创建了第二种形式的对象。第二个窗体上也有一个图片框,因此我希望在此图片框上绘制与第一个窗体相同的图形。graphics.Save/Restore仅保存图形对象的状态(或设置,如果您愿意)。您的两个表单是否在单独的流程中?如果是,你为什么不通过board对象呢?它们在同一个项目中。而board对象只是一个pictureBox,即使我经过它,它也不会显示上面的图形。graphics类不能存储图形。你需要一个位图。你是说我应该通过picturebox然后调用Invalidate?如果是这样的话,我会这样做,但是又没有图形了。你有没有像@Hans提到的那样先保存位图?我只是尝试将pictureBox1保存到位图中,然后使用图形对象将位图绘制到pictureBox2上,效果很好。