VB change事件的问题
VB可以对textbox使用change事件把,那么可以对一个变量使用么?比如A=50,当A的值改变的时候才发生...
VB 可以对textbox使用change事件把,那么可以对一个变量使用么?比如A=50
,当A的值改变的时候才发生 展开
,当A的值改变的时候才发生 展开
3个回答
展开全部
如果A是一个对象型的变量,可以用WithEvents语句使A具有事件,语法如下
dim WithEvents A as 对象类型(如Label,Line,Image等等)
但是对于普通类型(如Integer,Double,Long等)是无法用WithEvents语句使其带有事件类型的。不过可以人工检测A的变化。加入实时跟踪integer类型的变量A的变化,当A变化时出发AChange事件,方法如下
新建一个变量A_Pre代表A的历史值,在form_load中:A_Pre=A
添加一个定时器Timer1,它的定时时间就是检测A是否发生变法的周期,随你定,比如顶为10ms,则设定Timer1.Interval=10
在timer1_time()中这样写
Private sub timer1_time()
if a_pre<>a then
call AChange '发生变化了,就出发Achange事件
end if
a_pre=a
end sub
Private sub AChange()
Label1.caption=" A 变化了"
end sub
dim WithEvents A as 对象类型(如Label,Line,Image等等)
但是对于普通类型(如Integer,Double,Long等)是无法用WithEvents语句使其带有事件类型的。不过可以人工检测A的变化。加入实时跟踪integer类型的变量A的变化,当A变化时出发AChange事件,方法如下
新建一个变量A_Pre代表A的历史值,在form_load中:A_Pre=A
添加一个定时器Timer1,它的定时时间就是检测A是否发生变法的周期,随你定,比如顶为10ms,则设定Timer1.Interval=10
在timer1_time()中这样写
Private sub timer1_time()
if a_pre<>a then
call AChange '发生变化了,就出发Achange事件
end if
a_pre=a
end sub
Private sub AChange()
Label1.caption=" A 变化了"
end sub
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询