我有一个主表单应用程序,它是一个MDI容器。用户可以按一个按钮弹出一个新表单(而不是MDI子),然后从弹出的这个新表单中,我希望能够有一个按钮,创建一个不同的表单作为MDI子。
在主要表格中我有:
ResSelectForm resSelectForm = new ResSelectForm();
resSelectForm.Show();
因此,在弹出的resSelect
表单中,当用户按下OK按钮时,我有:
ImageForm imageForm = new ImageForm();
imageForm.MdiParent = Mainform; // doesn't work
imageForm.Show();
我收到以下错误:
错误CS0119'MainForm'是一种类型,在给定的上下文中无效
答案 0 :(得分:1)
您遇到的问题是您尝试访问ResSelectForm
类型而不是其实例。要解决此问题,您必须将实例传递给ResSelectForm resSelectForm = new ResSelectForm(this);
构造函数,如下所示:
ResSelectForm
然后在private Mainform _mainform; //Variable to use throughout the class
public ResSelectForm(Mainform mainform)
{
_mainform = mainform;
}
构造函数中执行此操作:
Mainform
最后,只要您需要访问imageForm.MdiParent = _mainform;
,您就可以访问该变量,在您的情况下如下:
vh
答案 1 :(得分:0)
我最后使用了一个对话框,因为它基本上是相同的: https://www.youtube.com/watch?v=8aDsXyiBLsI