MDI父窗体控制子窗体

MDI父子窗体相互传值的问题在网上已经能找到很多了,但是有关父窗体控制子窗体的文章不是很多。方法其实相比较父子窗体的传值并不难,也许许多大虾们感觉太简单没有写出来,本人作为菜鸟总结出来,以便给同样是菜鸟的同学学习。

其实父窗体调用子窗体对于Winform应用程序开发、系统开发以及CAD系统的开发的作用是比较大的。本人主要从事水工CAD系统的开发工作,在这个过程中就会遇到很多这样的问题。如:菜单栏下的保存共能、工具栏上视图的放大缩小等等。

调用的方法主要分为两个步骤:

(1)查找当前活动的子窗口

在c#中给我们提供了很好的方法,其中也比较多,本人采用的是在已知子窗体条件下直接进行判断(大家也可以采用循环的方式逐个搜索,这的方法的在网上也同样很多,在此不多说了),代码如下:

 

Form childForm = this.ActiveMdiChild;

 if (childForm is _3DModule.WRSDam3DForm)

 {                    

 }  

(2)将活动的子窗口指向当前活动的子窗口,如下

 

 _3DModule.WRSDam3DForm WRSForm = (_3DModule.WRSDam3DForm)childForm;//将活动的子窗体指向当前活动的窗体

 WRSForm.WRSUserControl.ZoomIn();

我这个实现的视图的放大的功能,其中_3DModule.WRSDam3DForm是一个窗体。

整体的代码如下:

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值