当前位置:编程学习 > C#/ASP.NET >>

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这样写:
public class ClassB
    {
        public Form ShowFormA()
        {
            FormA formA = new FormA();
            return formA;
        }
    }

注意类中引用这个“using System.Windows.Forms;”
生成一下。
第二步:在项目2中引用项目1
第三步:其中按钮点击事件这样:
private void 显示窗体A_Click(object sender, EventArgs e)
        {
            WindowsFormsApplication3.ClassB classB = new WindowsFormsApplication3.ClassB();
            Form formA = 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,所以没有窗体返回值给我,这样不行,这样可以的话。。也不至于这么憋屈了
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,