VB,为什么我在Public Sub Form_Load()中定义的变量在Private Sub Timer1_Timer()中不能用

PrivateSubForm_Load()DimmAsDoublem=5Timer1.Enabled=TrueEndSubPrivateSubTimer1_Timer()... Private Sub Form_Load()
Dim m As Double
m = 5
Timer1.Enabled = True
End Sub

Private Sub Timer1_Timer()
MsgBox m
Print m
End Sub
什么都显示不出来,该怎么办?
msgbox出来了,但什么都没显示。
如果是动态数组(dim m() as integer),要Redim怎么办,而且它还要赋值,不能放外面。
不是恶意代码,只是一个例子
展开
 我来答
甜美还清澈灬小白杨2
2009-07-17 · TA获得超过1528个赞
知道小有建树答主
回答量:518
采纳率:0%
帮助的人:563万
展开全部
如果是动态数组(dim m() as integer),要Redim怎么办,而且它还要赋值,不能放外面。
如果放在外面应该这样声明
private m as integer 或者 public m as integer
数组同理可得:
private m() as integer 或者 public m() as integer
Redim 的用法如下:
比如已经存在m(1).m(0)=1,m(1)=2
这样你可以这样做 Redim m(2) as integer.这样Redim m(0),m(1)的值就没有了.ReDim Preserve m(2),这样就可以保留m(0),m(1)的值,还多了一个m(2)可以用.

你这里显示出对话框,但没有任何提示内容,是因为你的m没有声明,所以m是various型,没有任何数据,因此显示为空值. 你这个水平,应该写不出什么恶意代码,呵呵.
daofuuq
2009-07-17 · TA获得超过483个赞
知道小有建树答主
回答量:2560
采纳率:0%
帮助的人:914万
展开全部
public M as double
Private Sub Form_Load()
m = 5
Timer1.Enabled = True
End Sub

Private Sub Timer1_Timer()
MsgBox m
Print m
End Sub
Timer的属性Interval是表示间隔的,你这个事恶意代码,会每隔设定时间弹出窗口,M定义成Public就可以在全局引用了
动态数组定义
有一个Byte数组A,如果我们知道这个数组上限最大只能是4,就用Dim
Dim A As Byte(4)
但如果我们不能事先确定它的大小,或者需要在运行时改变它的大小就要用动态数组
Dim A As Byte()
ReDim A(4)'这样改变大小时会清空原来的数据
ReDim Preserve A(4)'这样改变大小时会保留原来的数据
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
呆兔子tbc
2009-07-17 · TA获得超过997个赞
知道小有建树答主
回答量:757
采纳率:0%
帮助的人:934万
展开全部
[Dim m As Double]只在【Private Sub Form_Load()】范围内起作用。

要实现你所说的功能,可将代码改为:

Private m As Double
Private Sub Form_Load()
m = 5
Timer1.Enabled = True
End Sub

Private Sub Timer1_Timer()
MsgBox m
Print m
End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
twd2
2009-07-17 · TA获得超过557个赞
知道小有建树答主
回答量:1141
采纳率:0%
帮助的人:528万
展开全部
Dim m As Double'定义全局变量,才可以使用,否则不能
Private Sub Form_Load()
m = 5'设置
Timer1.Enabled = True
End Sub

Private Sub Timer1_Timer()
MsgBox m
Print m
End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
songenfu
2009-07-17 · TA获得超过158个赞
知道答主
回答量:33
采纳率:0%
帮助的人:24.5万
展开全部
Timer控件有一个属性你没有设吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式