C# 图片框在重新加载后丢失图形

C# 图片框在重新加载后丢失图形,c#,.net,graphics,C#,.net,Graphics,我目前正在使用PictureBox,面临一个问题 首先,我在图片盒上画了一个椭圆 它在画框上画得很好 但是当我最小化表单并重新加载它时,在PictureBox上绘制的椭圆就消失了 任何人都可以建议解决这个问题 谢谢 问候,, Pritesh Patel在.NET中,图形对象是,因此您需要在对象的绘制事件中绘制椭圆,在您的例子中是图片框。正如Martin所建议的,无论何时绘制表单,您都应该重新绘制图片 如果这是不需要的或不可能的,那么唯一的其他选项是绘制一幅显示在图片框中的图片 可以使用从对象创建

我目前正在使用PictureBox,面临一个问题

首先,我在图片盒上画了一个椭圆

它在画框上画得很好

但是当我最小化表单并重新加载它时,在PictureBox上绘制的椭圆就消失了

任何人都可以建议解决这个问题

谢谢

问候,,
Pritesh Patel

在.NET中,图形对象是,因此您需要在对象的绘制事件中绘制椭圆,在您的例子中是图片框。

正如Martin所建议的,无论何时绘制表单,您都应该重新绘制图片

如果这是不需要的或不可能的,那么唯一的其他选项是绘制一幅显示在图片框中的图片


可以使用从对象创建图形对象。使用此对象,您可以根据需要绘制图像,完成后,您可以将该图像指定给“图片框”属性。只要表单对象存在,此图像就会一直保留。

我确实遇到了与屏幕重画相同的问题。我解决这个问题的方法是将所有用户操作存储到一个列表中,因此每次调用绘制事件时,记录到列表中的所有操作都会被重放。在您的情况下,所有x,y坐标将存储到用户释放鼠标为止

虽然一开始这看起来很难,但您会欣赏它在实现撤销和重做时提供的灵活性

下面是一个链接,其中包含完成此操作的代码示例。 使用您的PictureBox事件

来自MSDN:

控件重新绘制时引发绘制事件。它将的实例传递给处理绘制事件的方法


您需要在paint事件中调用Draw方法。

您需要重新绘制椭圆,好的。是否没有其他解决方案……这是唯一的解决方案?