WINFORM中被调用窗体向调用它的窗体传值

这个例子传的是BOOL值

假设Form1   调用Form2,首先在Form1中定义一个变量:  
  public   bool   passedbool;  
  然后修改Form2的构造函数:  
                  Form   parent   =   null;  
                  public   Form2(Form   form)  
                  {  
                          InitializeComponent();  
                          parent   =   form;  
                  }  
  然后Form1调用Form2:  
                          Form2   s   =   new   Form2(Form1.ActiveForm);  
                          s.ShowDialog();  
  然后在Form2某个事件事调用Form1:  
   
                  private   void   button1_Click(object   sender,   EventArgs   e)  
                  {  
                          Form1   s   =   parent   as   Form1;  
                          s.passedbool   =   true;  
                  }  
运行,OK。

注意:
确定你的当前的ActiveForm是否存在,这段代码如果是在Load中的 这个时候如果没有其他的Form存在的话ActiveForm将会为null 这样Form1.ActiveForm将产生异常
如果一定要在 显示的时候实现
别写在load事件里 写在Activated事件中
最好在Shown(第一次显示时发生)事件下写

 

OR
 
Form2下声明public变量,如public DataSet ds = new DataSet();
Form1下调用:Form2 f2 = new Form2();
            f2.ds = this.ds;//等于Form1下的DS
     f2.ShowDialog();

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值