C#中关于不同form中控制其他form的控件问题

2024-12-02 05:33:50
推荐回答(2个)
回答1:

把这两个控件设置成public
然后form1弹出form2这样写
Form2 form2=new Form2();
form2.Owner=this;
form2.Show();

然后form2里面或者这两个控件这样获取
Form1 form1=(From1)this.Owner;
form1.printDocument
form1.printPreviewDialog

上面两个对象就可以直接获取的到
这是利用子父窗体强制转换,设置访问修饰符 解决的

当然也可以使用委托,委托传递的是这个控件你需要访问的方法
比较的单一,一个委托只有一个类型的方法
这个你可以直接获取到控件,当然属性和方法都有

回答2:

其实你可以换一个思路,在你的form1中,既然放了这两个控件,那肯定会被调用,如果实在没有,就加个可以调用的上去呀,比如说button,然后可以用form2中的某个事件,去激发form1中的按钮事件。form2的按钮事件设置为public,form1中按钮事件代码:

Form2 frm2 = new Form2();
frm2.Show();
frm. button1_Click(sender,e);