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

C# 如何解决多表单问题(CS7036),c#,winforms,C#,Winforms,我有一个从两个表单(表单2到表单1)发送信息的应用程序,我有一个进入表单2的菜单屏幕,但当我试图打开表单2时,我得到了错误(CS7036)。基本上,我的错误是 “错误CS7036给定的参数中没有与 “难度.难度(简易)”的必需形式参数“传入” (难度为“表格2”,容易为“表格1” 从菜单 private void btnStart_Click(object sender, EventArgs e) { this.Close(); difficulty diff = new dif

我有一个从两个表单(表单2到表单1)发送信息的应用程序,我有一个进入表单2的菜单屏幕,但当我试图打开表单2时,我得到了错误(CS7036)。基本上,我的错误是

“错误CS7036给定的参数中没有与 “难度.难度(简易)”的必需形式参数“传入”

(难度为“表格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();
    }
}

我如何使它工作,这样我就可以进入菜单,然后是困难,然后是容易,没有任何错误?感谢任何帮助。

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

以下是您的代码的固定版本:

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
变量来获取数据。

难度diff=新难度();
中,您必须传递
easy
表单的实例:
难度diff=新难度([easy_instance])
,这是什么?你是如何使用的,有
Easy original;
the
original
引用?你正在使用一个构造函数创建一个困难实例,该构造函数应该接收Easy“incoming”类型的参数。在实例化困难时尝试传递一个值:
困难度差异=新困难度(value);
您是否在某个地方使用了在难度构造函数中声明的传入实例?@Jimi我是否只添加了“[easy_instance]”因为它不起作用(对不起,我是初学者)@CarlosParra我添加了什么样的值(我是新手)这将无法按预期工作。请参阅上面的评论。关于如何实现这一点,有几条评论非常好。