在父窗口中打开子窗口,并把自已隐藏起来
this.hide();
ChildFrm childfrm=new ChildFrm(this);
childfrm.show();
在子窗口构造函数中取出父窗口对象
public ChildFrm(MainFrom ParentForm)
{
  .......
  this.parent = ParentForm;//引用
}
-----------------
然后,我要使用父窗口中的对象,应该怎么取得啊?
比如父窗口中有一个Button对象btn_Open
我怎么才能在子窗口中获得btn_Open???
各位大哥帮帮忙,谢谢了!

解决方案 »

  1.   

    this.parent.btn_Open 就行, 不过要注意一下btn_Open的访问修饰不能是private或protected
      

  2.   

    不行啊,我把上一级窗口中的btn_Open 对象改成了public,但是在下级窗口中还是不能用parent.btn_Open 。
    在输入parent.之后弹出的列表中根本就找不到btn_Open 这个对象!
      

  3.   

    确定this.parent 是MainFrom 类型的吗?this.hide();
    ChildFrm childfrm=new ChildFrm(this); // this是MainFrom 类型的吗?
    childfrm.show();
      

  4.   

    是的
    我在下一级窗口中还可以用parent.Show()重新显示上一级窗口
    但是就是不能把parent中的对象取出来:(
      

  5.   

    要动态创建你的BOTTON,且为public static型的才行
      

  6.   

    设成public static还是不行。
    不过直接用类名Parent.btn_Open到是可以取来,但这个不是我需要的!
    怎么个动态创建法呢?比如我想通过下级窗口把上级窗口的btn_Open的某个属性改到,那么首先要获得btn_Open这个对象,然后才能改它的属性。但是设成static的话,那btn_Open这个对象就不是属于某一个Parent实例,而是属于整个Parent类了,就不符合我的要求了。
      

  7.   

    你要先将this.parent转换为父级窗口的类名称
    如:
    ParentForm parentFrm = (ParentForm)this.parent;
    调用:parentFrm.btn_Open