C#窗体之间的相互访问

C#窗体之间的相互访

 


 1. 通过构造函数传递窗体的引用
   子窗访问父窗体,要重写子窗体的构造函数,如下:

  public  SForm(Form x)
ExpandedBlockStart.gifContractedBlock.gif 
... {           
            InitializeComponent();
            PForm 
= x;            
  }

其中Pform是在子窗体中声明一个成员(Form类)在子窗体的构造函数中从参数中取得了父窗体的引用.这样就能在子窗体中用Pform访问父窗体了.
那么父窗体应该如下这样写:

Form childForm  =   new  SForm( this  );
childForm.MdiParent 
=   this ;
childForm.Text 
=   " 子窗体 " ;
childForm.Show();

在构造子窗体时,用this将自身的引用传给子窗体.
至于主窗体调用子窗体的话,什么也不用做,直接可以访问.如上边用childForm

2. 通过静态成员变量
通过窗体类在其自身中创建一个静态成员变量保存窗体的引用,亦可实现窗之间的相互访问.如下:

   public   static   Form  TForm  =   null ; // 这是一个静态成员
  :
  :
  
public  MyForm(Form x)
ExpandedBlockStart.gifContractedBlock.gif  
... {           
            InitializeComponent();
            TForm 
= this;            
  }

并且如上,在窗体的构造函数中将自身的引用保存在静态成员Tform中;
那么,就可以在其它窗体中访问这个窗体了,如下:

MyForm.TForm.Text="你好中国";

转载于:https://www.cnblogs.com/houfeng/archive/2008/05/27/1208072.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值