用于重新启动表单应用程序的自定义类
本文关键字:自定义 应用程序 重新启动 表单 用于 | 更新日期: 2023-09-27 18:32:56
我仍在研究我的猜数字游戏。现在我想使用另一种方法而不是Application.restart();
.就我个人而言,我正在考虑将代码放在我的类 3 中,然后从那里调用该方法。不幸的是,我没有成功这样做。
我的问题是如何编写 again 方法,然后主要调用它?
我在 Class3 中的代码:
namespace WindowsFormsApplication3
{
public class ExtensionMethods
{
public again()
{
Random Generator = new Random();
globalVariableNumber.number = Generator.Next(1, 1000);
var form1 = new Form1();
form1.label2.Text = "Goodluck and have fun!";
form1.BackColor = default(Color);
form1.helpButton.Enabled = true;
form1.buttonGuess.Enabled = true;
form1.label4.Text = "";
return again;
}
}
}
请注意,我已经尝试了无数的事情public again ();
return again;
也是如此。这是我决定放弃之前的最新尝试。
您提出的代码有几个问题,我将尝试为您分解它,从最严重的开始:
-
代码正在创建一个新的表单(
var form1 = new Form1();
(,但从未显示它。在 Windows 窗体中执行此操作的正确方法是在 Main 方法中使用类似于以下内容的行:Application.Run(new Form1());
我的建议是遵循此Microsoft的教程,该教程会自动生成该代码,并检查创建的代码。
-
您的策略是在用户每次想要再次播放时创建一个新表单。不建议这样做;首选方法是将同一表单重置为初始设置。此外,您不处理表单;调用相同的方法(
again()
(将导致屏幕上出现多个表单。 -
您正在从表单本身外部访问表单成员(例如
label4
和label2
(。在Form1.cs
中创建一个成员方法,该方法将从窗体的代码中设置值。 -
again()
方法不声明其返回类型。如果它不返回任何内容,请将其声明更改为:public void again()
-
您将
again()
方法放在名为ExtensionMethods
的类中。C# 类的名称ExtensionMethods
通常用于声明静态扩展方法,我建议重命名该类(如果您最终觉得需要这样的类(。