C# 如何解决多表单问题(CS7036)
我有一个从两个表单(表单2到表单1)发送信息的应用程序,我有一个进入表单2的菜单屏幕,但当我试图打开表单2时,我得到了错误(CS7036)。基本上,我的错误是 “错误CS7036给定的参数中没有与 “难度.难度(简易)”的必需形式参数“传入” (难度为“表格2”,容易为“表格1” 从菜单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
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;
theoriginal
引用?你正在使用一个构造函数创建一个困难实例,该构造函数应该接收Easy“incoming”类型的参数。在实例化困难时尝试传递一个值:困难度差异=新困难度(value);
您是否在某个地方使用了在难度构造函数中声明的传入实例?@Jimi我是否只添加了“[easy_instance]”因为它不起作用(对不起,我是初学者)@CarlosParra我添加了什么样的值(我是新手)这将无法按预期工作。请参阅上面的评论。关于如何实现这一点,有几条评论非常好。