用参数实例化窗体时出错

本文关键字:出错 窗体 实例化 参数 | 更新日期: 2023-09-27 18:26:03

这会加载正确形式的

private void loadResults()
    {
        Results userResultsForm = new Results();
        userResultsForm.Show();
        this.Hide();
    }

然而,这会加载一个空白表单

private void loadResults()
    {
        Results userResultsForm = new Results(correctAnswers);
        userResultsForm.Show();
        this.Hide();
    }

这是结果中的代码

public Results()
    {
        InitializeComponent();
    }
    public Results(bool[] correctAnswers)
    {
        // TODO: Complete member initialization
        this.correctAnswers = correctAnswers;
    }

InitializeComponent被调用为第一个

用参数实例化窗体时出错

听起来您的Results构造函数是错误的,并且没有调用InitializeComponent方法。

表单的替代构造函数的常见模式如下:

public Results()
{
  InitializeComponent();
}
public Result(Answer[] answers) : this()
{
  // Do whatever you need with the answers
}

这样可以确保"基本"构造函数在您的构造函数之前运行,从而正确初始化表单。