有关vb全局变量的问题

来源:百度知道 编辑:UC知道 时间:2024/06/06 23:20:39
我在用vb编写程序时,定义了一个全局变量,是在模块里面定义的,这一部分应该没有问题。语句:Public mynum As Integer
我在一个窗体给这个变量赋值,在另一个窗体显示它的值的时候总是不是同步的,而是滞后一步。例如,我在窗体1里面赋值2,然后通过一个按钮将窗体2调出,第一次调出窗体2的时候mynum的值是0,将窗体2关闭,在按按钮加工窗体2重新调出后,显示的是2.
其中的问题到底是出在哪里,如何解决。我要的一定还是同步的
我是要用一个动态值。我在详细的说一下我的方案。我在窗体1中给变量mynum付一些值,当然不只一个值,条件变化,值也随之变化。mynum在窗体2现实的时候,我用一个标签显示其值,其中调出窗体2是在窗体1中的一个按钮来调出。按第一次的时候,窗体2中的变量是0.我把窗体2关闭,然后再次调出窗体2,这时候的变量才是在窗体1中付的值。当窗体1中满足不同条件的情况下,mynun
的值也随之不同,每次改变mynum的时候,窗体2中总是滞后一步,需要像我所说的那样,只能在第二次调出窗体2 的时候才能显示正确的值。实在不知道怎么回事

:对于全局变量在使用的过程:
初值:
1.mynum=0
正式赋值:
2.mynum=45682
....供其它窗体调用.....
结束后:
3.mynum=0
这样在其它窗体中调用就没问题了。

显示的数据,是固定下来的,你可以在1窗体中赋值的时候,也同时对2窗体的相应位置赋值,如:
在第1窗体中
myNum=2
Form2.Label1.Caption=myNum '假设在第二窗体中,是显示在Label中的

模块里声明的公共变量应该不存在你所说的现象,请问你调出窗体2的时候是怎么检查mynum的值?

你的mynum是动态的值吗。就是随时再变的。如果不是的话就不应该呀!
再不就是你再调出form2 的时候还没有给mynum赋值,这是时候系统认为他就是0 看看你的代码那里有问题

我按你说的做,没问题.检查一下是不是哪里错了.

你这个问题我恰好解决了,你在窗体2中加个时钟,间隔200豪秒获取一次变量的值,然后赋值给LABLE,有什么不清楚的可以问我