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

比如我只有在form1中有printDocument和printPreviewDialog控件,在生成打印表格之后,判断打印的表格是否超出纸张宽度,如果是,则弹出form... 比如我只有在form1中有printDocument和printPreviewDialog控件,在生成打印表格之后,判断打印的表格是否超出纸张宽度,如果是,则弹出form2,然后在form2中筛选显示列,确定之后重新生成表格。问题就在这里,form2中的如何去调用form1中的这两个控件呢 展开
 我来答
百度网友ce9f999
2013-06-02 · TA获得超过406个赞
知道小有建树答主
回答量:540
采纳率:100%
帮助的人:544万
展开全部
把这两个控件设置成public
然后form1弹出form2这样写
Form2 form2=new Form2();
form2.Owner=this;
form2.Show();

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

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

当然也可以使用委托,委托传递的是这个控件你需要访问的方法
比较的单一,一个委托只有一个类型的方法
这个你可以直接获取到控件,当然属性和方法都有
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
好麻烦大水法
2013-06-01 · 超过29用户采纳过TA的回答
知道答主
回答量:104
采纳率:0%
帮助的人:70.7万
展开全部

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

Form2 frm2 = new Form2();
frm2.Show();
frm. button1_Click(sender,e);
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式