C# Highscore表单到表单数据传输
我正在做一个简单的游戏,你驾驶飞船四处飞行,躲避小行星,直到它们撞到你,然后你爆炸。我有一个游戏表单,当你在5秒后被击中时(我使用计时器),它会勾选关闭该表单并打开一个新表单(EndGameForm)。我将展示我的代码,但似乎出现了故障,而且我在C#方面的知识非常有限C# Highscore表单到表单数据传输,c#,forms,transfer,C#,Forms,Transfer,我正在做一个简单的游戏,你驾驶飞船四处飞行,躲避小行星,直到它们撞到你,然后你爆炸。我有一个游戏表单,当你在5秒后被击中时(我使用计时器),它会勾选关闭该表单并打开一个新表单(EndGameForm)。我将展示我的代码,但似乎出现了故障,而且我在C#方面的知识非常有限 private void GameEndTimer_Tick(object sender, EventArgs e) { this.Visible = false; EndGameForm gfor
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;
}
这是第二种形式,调用save并设置新的Highscore标签
错误代码:错误1“SemesterProject.EndGameForm”不包含
接受0个参数的构造函数\HHS-FS2\Home$\Students\10
等级\985832\CP
C#\SemesterProject\SemesterProject\GameForm.cs 82 33 SemesterProject
您需要将某些内容传递给
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();
}
错误是不言自明的。。。您已经将一个
字符串作为参数传递给EndGameForm
类的构造函数声明。但在它的召唤中,没有任何论据被传递到。。。