以下是我遇到的错误:
private void ShowNextQuestion()
{
timer1.Stop();
Hide();
new QuestionTwoScreen().Show();
}
错误是new QuestionTwoScreen().show();
错误CS7036:没有给出对应于'QuestionTwoScreen.QuestionTwoScreen(string,int)'所需的形式参数'name'的参数
我认为我没有做到这一点:
public QuestionOneScreen()
{
InitializeComponent();
CenterToScreen();
AllowDropping();
ScoreLbl.Text = "Score: " + StartScreen.Player.Score;
SetupTimer();
}
我认为因为我在QuestionTwoScreen上有这个:
public QuestionTwoScreen(string name, int quizSelection)
{
InitializeComponent();
CenterToScreen();
ScoreLbl.Text = "Score: " + StartScreen.Player.Score;
SetupQuiz(name,quizSelection);
}
我无法看到我出错的地方,但我知道'QuestionOneScreen'没有(string,int)。这是为什么会出现错误或其他原因?
答案 0 :(得分:1)
您的“QuestionTwoScreen”类构造函数需要在每次创建/实例化时为其提供两个对象(字符串名称,int quizSelection)。由于在构造类时没有传入任何值,因此抛出获取的错误。要解决此问题,您可以执行以下两项操作:
为缺少的参数添加值
new QuestionTwoScreen("Example Name", 0/*Example Int*/).Show();
为参数添加默认值
public QuestionTwoScreen(string name = String.Empty, int quizSelection = 0)
{
InitializeComponent();
CenterToScreen();
ScoreLbl.Text = "Score: " + StartScreen.Player.Score;
SetupQuiz(name,quizSelection);
}