问题描述
开发环境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