我这儿有一个主窗体A,还有一个公共窗体B。这个公共窗体B既可以由窗体A打开,也可以由其他窗体打开。现在我需要在A与B窗体之间互相传值。B向A传值用委托方法,网上帖子多有介绍。但主窗体A向B传值不能用构造函数的方法,因为B窗体还要其他窗体打开。请问主窗体A向B传值还可以用委托方法吗,或什么其他好的方法?(A向B传值时B窗体是由主窗体A打开的)谢谢!

解决方案 »

  1.   

    子窗体向主窗体传值,只需要在子窗体中声明一个属性。例如:private string strValueB;
    public string StrValueB
    {
    get { return strValueB; }
    set { strValueB = value; }

    然后在父窗体中string strTmp = fmChild.StrValueB; 就可以取到子窗体的值了。
      

  2.   

    B窗体设置属性
    public string test
    {get;set;}
    通过属性传递
      

  3.   

    直接定义 公有属性 
    private string strValueB;
    public string StrValueB
    {
    get { return strValueB; }
    set { strValueB = value; }