例如:formMain、formLogin、formSomething等form
另建一个class ,叫clsUser,包含属性loginstat(bool)、userName、方法login(string uName,string uPwd)等等。
要实现的目标是:在formMail中点击一个按钮,跳出formLogin供登录用。登录后把formLogin dispose掉,如果登录成功,clsUser的实例的loginstat就成为true。显示formSomething时,可以调用它的loginstat、userName等属性。
然而试了好多方法都不能共享这个类实例,能否共享呢?如果不能,如何在两个窗体间传递数据呢?新手,问的乱了点,希望兄弟们赐教!!

解决方案 »

  1.   

    我是在Visual Studio里面做的,class定义在一个单独的文件里,public static有用吗?
      

  2.   

    静态类是不可以包含非静态成员的吧。这样的话如何实现对loginstat、username的处理呢?
      

  3.   

    哈哈,static当然有用。窗体间传递也简单呀:
    form1.cls = form2.cls;
      

  4.   

    楼主要的就是一个登录的功能啦.
    如果这样想不通的话,就换个角度想想这个问题.
    登录完成后,就把clsUser再传回来不就行了. 笨笨小猪说的更好一些.======================================
    =               欢迎瞧瞧             =
    =  http://builderman.home.sunbo.net  =
    ======================================
      

  5.   

    哈哈,谁说静态类不可以包括非静态成员?什么是静态类?呵呵。是让你把clsUser的实例声明为静态。如:
    form1()
    {
       static public clsUser cls = new clsUser();
    }
    那么不管在哪里都可以这样用:
    form1.cls
      

  6.   

    form1()
    {
       static public clsUser cls = new clsUser();
    }
    那么不管在哪里都可以这样用:
    form1.cls这个用法,似乎不行,一是在formLogin里边无法引用form1,二是在form1里面似乎不可以声明一个类的静态实例。提示两者的可访问性不一致。另外弱弱的问一下:怎么从一个窗体传一个类实例到另一个窗体啊?
      

  7.   

    这个问题我自己已经解决了,用ref传递就行了,以上的方法我还没有能理解。不过还是谢谢大家。