我有一个带有两个子窗体的 MDI 容器。我们被教导(MSDN 文档只给出了示例)使用关键字“this”,它假设所讨论的子对象是从 MDI 容器本身创建的。
如果我在 MDI 容器中创建对象,则这是正确的:
Form_Child2 child = new Form_Child2(textBox1.Text);
child.MdiParent = this;
child.Show();
相反,我正在尝试做一些更像这样的事情:
Form_Child2 child = new Form_Child2(textBox1.Text);
child.MdiParent = Form_Parent;
child.Show();
但是,这会引发错误,指出“Form_Parent”是一种类型,不能用作变量。我想我隐约明白它的意思,但还不清楚。我也尝试过研究一下关键字“this”,但仍然卡住了。
如果您想成为一名 C# 程序员,那么了解类型和对象之间的区别非常重要。是的,这里有一个大问题,这里需要一个 Form_Parent 的实例,你不能使用类型名称。
只有曾经oneMDI 父窗口的实例。这是您可以利用的,您可以向父类添加静态属性。让它看起来像这样:
public partial class Form_Parent : Form {
public static Form_Parent Instance { get; private set; }
public Form_Parent() {
InitializeComponent();
Instance = this;
}
// etc..
}
现在很简单:
Form_Child2 child = new Form_Child2(textBox1.Text);
child.MdiParent = Form_Parent.Instance;
child.Show()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)