程式八卦掌走转掌:我是VB的绝对初学者,想向高手们请教问题

来源:百度文库 编辑:中科新闻网 时间:2024/05/05 22:14:55
关于时间控件的问题:
Private Sub Timer1_Timer()
tm = tm + 1
Label1.Caption = Str$(tm)
End Sub
为什么它就是不听使唤啊?label1里就老是个 1 ,什么也没有!~为什么啊?谢谢
按照2楼大哥说的做果然成了~~但是我还没有学到static语句,这个是什么啊?我也按照一楼大哥声明tm为全局变量,但我用的是public,结果不行,为什么?谢谢

你要知道,程序每次执行TIMER事件时,tm 变量都 会被初始化为0,你可以把它定义成静态变量,这样来定义
Private Sub Timer1_Timer()
static tm as integer
tm = tm + 1
Label1.Caption = Str$(tm)
End Sub
试试看,应该会OK的

因为你这个 tm 是 Timer1_Timer() 函数中的一个局部变量,每次执行这个函数的时候,tm 都是重新声明的,值都是 0

你把tm声明为全局变量,就会有反映了

你应该先选中时钟控件,然后在其属性处把Interval这个属性值改成你想要的每次运行一次的时间,单位是毫秒,例如可以设置为1000,这样每隔一秒就更新一次了,你的 Caption的值就加多1了