MDI父窗体控制子窗体

来源:互联网 发布:电子沙盘制作软件 编辑:程序博客网 时间:2024/04/29 01:01

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是一个窗体。

整体的代码如下:

 

 

 

原创粉丝点击