在C#中,我想通过两个不同窗体的button打开同一个子窗体,form1的button直接打开form3;form2的button打开form3时,需要用到form2的labe1.text来连接数据库,并在打开form3时直接显示从数据库查询的结果,请赐教……

解决方案 »

  1.   

    方法太多了,form3发布一个属性,form2创建form3时,设置一下,form3.xxx = lable.text或者,给form3一个重载的构造函数,直接通过构造函数传过去
      

  2.   

    可是form3是在form1实现的情况下才可以   如果不运行form3直接运行form1的话,会出现空值的状况。
      

  3.   

    就是 从form2开form3 比 从form1开form3 多一个传值操作吧。
    1 form3发布属性x,form2初始化form3时赋值x,form3再中判断x是否有值
    2 form2初始化form3时从构造函数传入参数
    3 设置全局变量x,form2初始化form3时给x赋值,其他时候x=null,form3再中判断x是否有值
    4 在form3中查阅caller是不是form2,是的话读取其label1.text
    5 form3发布对应处理事件,form2注册响应方法