遇到了这样一个问题:
定义一个类Student,有个函数叫Add()
在主窗体form1中初始化一个Student的实例stu
但程序有时候会用到form2,而且form2要调用stu的Add()函数
这该怎么实现呢?哪位大侠帮一下小弟?谢谢!

解决方案 »

  1.   


    用 form1.stu.Add();
    不可以么
      

  2.   

    用ShowDialog()显示最好实现,形式如下:   
        
      int   tmpValue1   =   0;   
      int   tmpValue2   =   0;   
      int   sum   =   0;   
        
      from1   f1     new   form1();   
      f1.ShowDialog();   
      tmpValue1   =   f1.Value1;   
        
      from2   f2     new   form2();   
      f1.ShowDialog();   
      tmpValue2   =   f2.Value2   
        
      sum   =   tmpValue1+tmpValue2;   
        
      Value1和Value2是form1和form2里的public的自己定义的属性.
      

  3.   

    也可以把stu的访问修饰符设为public,然后实现窗体之间的交互,在form2中调用form1中的stu.
      

  4.   

    参考
    Form[]   g_myForms   =   new   Form[]{ 
    new   Form1(),new   Form2(),new   Form3() 

    int   g_nFormIndex   =   0; 2   下一步时,myForms[g_nFormIndex].Hide(),   g_nFormIndex ,   myForms[g_nFormIndex].show() 3   如果点上一步,就myForms[g_nFormIndex].Hide(),   g_nFormIndex--,   myForms[g_nFormIndex].show() 这个控制我是放在一个主窗口中控制的
      

  5.   

    建一个项目,里面包括了student类文件以及form1和form2,将这三个类的命名空间统一,然后把student类中的add函数声明为public,这样就可以在form1中调用form2,在form2中调用stu的add函数了
      

  6.   

    呵呵,这类问题相当容易!方法有多个:
    1:如3楼所示,将窗体作为参数传递进来。
    2:设置第三方,由其统筹控制form1和form2。
    3:反射加委托。