我制作了一个简单的游戏,你可以在船上飞行,躲避小行星,直到它们击中你并且你爆炸了。我有一个游戏形式,然后当你在5秒后被击中(我使用计时器)时,它将打勾关闭该表格并打开一个新表格(EndGameForm)。我会显示我的代码,但似乎有失败,而且我对C#的了解非常有限。
private void GameEndTimer_Tick(object sender, EventArgs e)
{
this.Visible = false;
EndGameForm gform = new EndGameForm();
gform.Show();
GameEndTimer.Enabled = false;
var frm2 = new EndGameForm(ScoreLabel.Text.ToString());
frm2.Show();
}
这是第一种形式,从分数标签中保存文本并打开新表格。
public EndGameForm(string s)
{
InitializeComponent();
Score1Label.Text = s;
}
这是第二种形式,回顾保存并设置新的Highscore标签。
错误代码:错误1' SemesterProject.EndGameForm'不包含 取0个参数的构造函数\ HHS-FS2 \ Home $ \ Students \ 10th 级\ 985832 \ CP C#\ SemesterProject \ SemesterProject \ GameForm.cs 82 33学期项目
答案 0 :(得分:0)
您需要将某些内容传递给EndgameForm
类的构造函数,因为它应该基于您的设计。
根据经验,这可以通过来自调用者类的字符串字段类来完成:
private string _tobeSentAsArgument {get; set;}
在初始化之后,您可以随时使用它:
private void GameEndTimer_Tick(object sender, EventArgs e)
{
this.Visible = false;
EndGameForm gform = new EndGameForm(this._tobeSentAsArgument);
gform.Show();
GameEndTimer.Enabled = false;
var frm2 = new EndGameForm(ScoreLabel.Text.ToString());
frm2.Show();
}