Winform 中如何获取程序已经打开的窗体?

Application.OpenForms 了解一下~

foreach (Form frm in Application.OpenForms) //遍历所有打开的窗体!
{
      if (frm is PageSetupForm)
      {
         frm.FormClosed += (s, e) => {  }; //添加关闭事件
      }
}

### 回答1: 很高兴回答您的问题,可以通过调用Windows GDI(图形设备接口)的API来实现winform窗体程序的绘图重新显示。您可以通过在窗体的Load事件调用API来绘制图形,并在OnPaint事件重新绘制图形。 ### 回答2: 要让WinForm窗体程序的绘图在下次打开后重新显示,可以考虑将绘图保存到文件或者使用数据库存储绘图数据。以下是具体的步骤: 1. 将绘图保存为文件:在绘图完成后,将绘图数据保存到一个文件,可以选择常见的图像格式,如PNG、JPEG等。通过使用`Graphics`类的`Save`方法,可以将绘图保存为文件。在下次打开窗体程序时,读取该文件并显示绘图即可。 2. 使用数据库存储绘图数据:可以将绘图数据存储到数据库,例如SQL Server、MySQL等。可以创建一个表,用于存储绘图数据的相关信息,如图像名称、文件路径等。在窗体程序,可以通过读取数据库的数据来获取并显示绘图。 3. 在重新打开窗体程序时,通过读取文件或者数据库的数据,获取存储的绘图信息。然后,使用`Graphics`类的相关方法将绘图重新显示出来。可以在窗体的`Paint`事件进行绘图操作,将读取的绘图数据传递给`Graphics`对象,然后调用相应的绘图方法来显示绘图。 需要注意的是,如果选择将绘图保存为文件,应该确定保存文件的路径,并在下次打开程序时设置正确的文件路径来读取绘图数据。如果选择使用数据库存储绘图数据,要确保数据库连接的正确性,并及时更新数据库的绘图数据。 通过这些步骤,就可以实现下次打开WinForm窗体程序后重新显示之前绘制的图形。 ### 回答3: 要让WinForm窗体程序的绘图再下次打开后重新显示,可以通过以下方法实现: 1. 在窗体程序利用画图工具(如Graphics)记录绘图的信息,例如绘制的图形类型、位置、颜色等。可以将这些信息保存在一个数据结构,比如一个集合或者自定义的类。 2. 将绘图信息保存到一个持久化的存储介质,比如文件或数据库。可以使用序列化(serialization)来将绘图信息转换为字节流,并将其写入文件或存储到数据库。 3. 在窗体程序加载时,从持久化存储介质读取绘图信息。可以使用反序列化(deserialization)将保存的字节流转换为绘图信息,并重新绘制到窗体上。 4. 在窗体的绘图事件(如Paint事件),使用保存的绘图信息重新绘制图形。可以遍历保存的绘图信息集合,根据每个绘图的属性使用画图工具绘制图形。 通过以上步骤,每次打开窗体程序时,都可以根据保存的绘图信息重新显示绘图。这样就可以实现让WinForm窗体程序的绘图再下次打开后重新显示的效果。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值