C# 在不丢失变量值的情况下重新加载表单

C# 在不丢失变量值的情况下重新加载表单,c#,.net,winforms,C#,.net,Winforms,当我点击一个按钮时,我的表单需要重新加载,而不会丢失一些变量 例如: 一个游戏需要重新设置,但高分变量需要保留,以便与下一个游戏一起计数。 “Application.Reset();”会重置表单1,但也会重置所有变量。 有没有不使用数据库的方法,因为我们还没有了解到这一点。您需要创建一个类,并在其中包含属性和方法,然后将其传递给表单。退出表单后,使用表单上更改的值更新类值 在这之后,您需要弄清楚如何将类“存储”在某种流中,并能够从该流重新加载类。(XML、二进制、Protobuf、JSON)有很

当我点击一个按钮时,我的表单需要重新加载,而不会丢失一些变量

例如:

一个游戏需要重新设置,但高分变量需要保留,以便与下一个游戏一起计数。
“Application.Reset();”
会重置
表单1
,但也会重置所有变量。
有没有不使用数据库的方法,因为我们还没有了解到这一点。

您需要创建一个类,并在其中包含属性和方法,然后将其传递给表单。退出表单后,使用表单上更改的值更新类值


在这之后,您需要弄清楚如何将类“存储”在某种流中,并能够从该流重新加载类。(XML、二进制、Protobuf、JSON)有很多方法。

可以通过

1.将数据保存在数据库中

2.XML文件(写入和读取)

3.设置类的属性

4.使用静态变量**

您可以使用以下设置:


并在重置/关闭时保存数据

您可以写入文件并从中读取数据。听起来不错,我会立即尝试!工作得很有魅力!这是因为我有两个表单正在运行,在重新加载另一个表单时,我将保存在第二个表单中的值保留了一段时间。。。听起来很奇怪,但它起作用了!如果你不是真的重新启动应用程序,静态变量可能是最简单的方法。如果对象是从父窗体生成的参数,那么是正确的,也可能是通过类对象。