C# MDI多窗体在各个子窗体中使用父窗体对象?

2024-11-02 12:30:50
推荐回答(4个)
回答1:

把父窗体当做构造函数的参数传递过去,然后对你父窗体中要使用的控件设置public的接口,就能调用了,例如你的例子
父窗体ParentFrom实例form1的时候
假如你要设置的是一个Name属性为textBox1的Textbox文本框,这样设置接口
public System.Windows.Forms.TextBox gettextBox1()
{
return textBox1;
}

From1 f1=new From1(this);
From1创建的时候
//以下先申明一个父窗体用作传递
ParentFrom parentFrom
public From1(ParentFrom parentsForm)
{
parentFrom=parentsForm;
InitializeComponent();
}
这样就完成了一次传递,然后同理把这个父窗体传到From2,和From3中
然后你就可以在From3通过
parentFrom.gettextBox1()调用了

回答2:

可以啊,相当于父子窗体间的传值,创建一个静态类,里面就一个父类窗体类的变量用来存放父类的对象,当点击显示子窗体前把该变量赋上父类的值,然后就可以在子类的窗体上调用父类的东西了,希望对你有所帮助

回答3:

直接把父窗体作为参数传过去就可以了

Form2 f2 = new Form2(this);

然后再form窗体的构造器中接过来就可以了。

回答4:

跟你做点击form1菜单栏弹出form2窗体一样的做法