你只是hide form,那肯定是这样的
除非 unload form

解决方案 »

  1.   

    Option Explicit
      Private a As Integer
      Private Sub Form_Load()
        a = 5
        ~~~~~~每次引入窗体的时候都付值了呀
      End Sub
    程序设计思路与你写的有冲突哦
      

  2.   

    yesprivate是静态保留了A的值的。除非你 UNLOAD,不然A的值是不会释放掉的。
      

  3.   

    你是怎样关闭窗体的?
    当你第二次显示窗体时Form_Load事件也再次被触发,a再次补赋值,所以无论你怎么关闭窗体只要再显示,a的值就是5。不会得到0的。
      

  4.   

    不是的,我在a=5的地方设了断点,没有执行的时候,a的值就已经是5了,我直接点X关闭窗体的.
      

  5.   

    楼上的各位,好象不太对哦。
    刚才我做了一个测试,就算用Unload语句,
    a的值还是5。
    搞不清楚………
    在a=5之前加入代码
    msgbox a,
    会发现,
    只要Form启动一次(把a赋值5),执行Unload以后,再次显示a,总是5。
    好象Unload并不把a的值释放。
      

  6.   

    要么这样, superzhou(学海无涯) ,您在Form_Unload中写入代码
    a=0
    好了。
    或者在Form_Load过程中声明变量dim a as integer^_^
      

  7.   

    对呀,执行unload后,a应该从内存中清除了,怎么值还是不变
      

  8.   

    unload 并不释放变量
    Private Sub Form_UnLoad()
        Set a=Nothing
      End Sub