MDI窗体求助

问题描述

开发环境VS2005有两个项目项目1:中有个窗体A,然后有个类B,B类中有个PUBLIC方法ShowFormA(),可以将窗体A实例化,然后SHOW出来项目2:有个窗体B(MDI窗体),窗体B有个按钮,按钮事件实例化项目1的类B,然后调用类B的ShowFormA(),弹出一个窗体;我想在按钮事件中捕获弹出的窗体A,获取A的实例,然后将A设置为窗体B的子窗体这种想法是否可以实现?

解决方案

解决方案二:
当然可以。在类B的那个ShowFormA方法里返回新建窗体A的引用,然后由窗体B保存该引用。这样你就能在项目2里操作窗体A了。
解决方案三:
第一步:项目1中ClassB这样写:publicclassClassB{publicFormShowFormA(){FormAformA=newFormA();returnformA;}}

注意类中引用这个“usingSystem.Windows.Forms;”生成一下。第二步:在项目2中引用项目1第三步:其中按钮点击事件这样:privatevoid显示窗体A_Click(objectsender,EventArgse){WindowsFormsApplication3.ClassBclassB=newWindowsFormsApplication3.ClassB();FormformA=classB.ShowFormA();formA.MdiParent=this;formA.Show();}

第四步:将项目2设为启动项。
解决方案四:
引用楼主fang521ke的回复:

开发环境VS2005有两个项目项目1:中有个窗体A,然后有个类B,B类中有个PUBLIC方法ShowFormA(),可以将窗体A实例化,然后SHOW出来项目2:有个窗体B(MDI窗体),窗体B有个按钮,按钮事件实例化项目1的类B,然后调用类B的ShowFormA(),弹出一个窗体;我想在按钮事件中捕获弹出的窗体A,获取A的实例,然后将A设置为窗体B的子窗体这……

那个方法返回值是VOID,所以没有窗体返回值给我,这样不行,这样可以的话。。也不至于这么憋屈了

时间: 2024-10-25 17:26:39

MDI窗体求助的相关文章

[VB.NET]浅谈MDI窗体的多窗体编程

编程 ---MDI窗体和多窗体编程--- 目的:在MDI窗体内用ToolBar实现多窗体的实例,在VB.NET中显示窗体一般代码如下 Private Sub ToolBar1_ButtonClick()Sub ToolBar1_ButtonClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ToolBarButtonClickEventArgs) Handles ToolBar1.ButtonClick Sel

[VB.NET]浅谈MDI窗体的多窗体编程2

编程 ---关于WITH结构内的MDI窗体实例-- 在上一篇内,介绍了MDI窗体的实例 http://blog.csdn.net/allenle/archive/2005/02/18/293122.aspx 在第二段代码中写到 Private Shared fr As New frmName Private Sub ToolBar1_ButtonClick()Sub ToolBar1_ButtonClick(ByVal sender As System.Object, ByVal e As Sy

VisualC#中MDI窗体初步

visual 在VB中做 MDI窗体很简单.在C#里就没有这个轻松了,不过还是很方便的. 首先在C#里添加一个窗体,命名为MdiMain,将其IsMdiContainer设定成true,这样MDI主窗体就建立了.然后再添加新窗体,命名为MdiChild.现在运行程序,会发现只运行了MdiMain这个主窗体.呵呵因为我们没有写任何代码,第二个窗体当然不能出现了.现在来添加这个代码. 在MdiMain窗体上添加一个Menu,然后随便写个子菜单.双击子菜单,会出现它的Click事件,在这个事件内写如下

MDI窗体应用程序子窗体和父窗体怎么做窗体分割

问题描述 MDI窗体应用程序子窗体和父窗体怎么做窗体分割 MDI窗体应用程序子窗体和父窗体怎么做窗体分割,在两个窗体之间怎么添加一个分割条? 解决方案 http://jingyan.baidu.com/article/5552ef473468fc518ffbc9d1.html 解决方案二: Windows应用程序C#创建MDI父窗体和子窗体

使用weifengluo的DockPanel怎么更改MDI窗体的背景

问题描述 使用weifengluo的DockPanel时MDI窗体的背景总是灰色的,怎么样改背景色或加背景图片直接设置不好使 解决方案 解决方案二:背景图片可以直接设置,颜色要加处理

C#调用软件嵌入到MDI窗体里面

问题描述 C#调用软件嵌入到MDI窗体里面我用自己的软件其他别人开发的软件,显示在MDI窗体里面,不管主窗体最小化或者移动.关闭都可以与主窗体一起,请高手,如果实现C#代码?启动程序,我知道怎么写,就是不知道怎么把已经编写好的软件,启动到MDI窗体里面!如果高手帮助,编写成功,本人送你QQ会员1个月+黄钻1个月!联系QQ:857082775或者到http://51ids.com/极星网站上面发布源码,谢谢! 解决方案 解决方案二:我也想知道~解决方案三:如果高手帮助,编写成功,本人送你QQ会员1

C#.net 的mdi窗体(父子窗体)中如何让子窗体去关闭另一个子窗体啊!

问题描述 rt 解决方案 解决方案二:使用回調函數*****************************************************************************欢迎使用CSDN论坛专用阅读器:CSDNReader(附全部源代码)http://feiyun0112.cnblogs.com/解决方案三:通过条件去判断找出那个mdi窗体,然后关闭.解决方案四:引用2楼wesleyluo的回复: 通过条件去判断找出那个mdi窗体,然后关闭. 同意解决方案五:怎

帮我看看这个比较怪的问题(MDI窗体关不了.)

问题描述 同时打开两个MDI子窗体,如果先关闭第一个子窗体再关闭第二个子窗体没有问题,如果先关闭第二个窗体,点关闭按扭,窗体不停的闪,关不了.停止响应.跟踪代码是关闭窗体时程序自动调用this.Dispose()方法出现这种现象.执行this.Dispose()时也不出错,也不退出.但只打开一个MDI子窗体时,关闭没任何问题.关闭按扭的代码就一句话.this.Close();希望高手帮我分析一下什么原因,我都晕了.产品就马上交工了,出现这样的问题急呀. 解决方案 解决方案二:感谢楼主的信任,这个

在MDI窗体中,如何把最小化的子窗体放在主窗体的状态栏上

问题描述 在MDI窗体中,如何把最小化的子窗体放在主窗体的状态栏上 解决方案 解决方案二:下面的代码只是实现你上面说的要求.如果要求点击状态栏上的按钮,再把窗体show出来,还需要在下面代码的基础上再扩展.主要的思路就是,在父窗体能处理子窗体的最小化事件.//先建一个FormBase的基类,子窗体都从这个基类继承publicclassFormBase:System.Windows.Forms.Form{publicdelegatevoidFormMinSize(objectsender,Even