如何解决多种表单问题(CS7036)

时间:2019-04-26 21:11:16

标签: c# winforms

我有一个应用程序,它从两个表单(表单2到表单1)发送信息,并且我有一个进入表单2的菜单屏幕,但是当我尝试打开表单2时出现错误(CS7036)。基本上,我会说

  

“错误CS7036,没有给出与   要求“ difficulty.difficulty(Easy)的形式参数” incoming””

(困难是“形式2”,而容易是“形式1”

从菜单

private void btnStart_Click(object sender, EventArgs e)
{
    this.Close();
    difficulty diff = new difficulty();
    diff.ShowDialog();
}

困难>

public partial class difficulty : Form
{

    public difficulty(Easy incoming) 
    {

        InitializeComponent();
    }

    private void btnEasy_Click(object sender, EventArgs e)
    {
        this.Close();
        Easy easy = new Easy();
        easy.ShowDialog();
    }
}

我如何使它起作用,这样我才能进入菜单,然后又困难又容易,没有任何错误?任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

在实例化类时,您没有传入添加到构造函数中的参数。

这是您代码的固定版本:

private void btnStart_Click(object sender, EventArgs e) { 
    //use whatever easy you have here
    Easy easy = new Easy();
    difficulty diff = new difficulty(easy); 
    diff.ShowDialog(); 

    this.Hide();
}

您需要预先创建一个Easy类才能传入。如果要在该类中使用该实例,可以执行以下操作:

public partial class difficulty : Form { 

    private Easy easy;
    public difficulty(Easy incoming) 
    { 
        easy = incoming;
        InitializeComponent();
    } 

    private void btnEasy_Click(object sender, EventArgs e) {
          ....
    } 
}

然后在任何类函数中,引用easy变量以获取数据。