新建3个对象:command1 image timer
command1代码如下(click事件):Timer1.Enabled = True
timer1代码如下:
Static i, x, y As Integer
Image1(i).Visible = True
x = Image1(i).Left + 370 * Rnd
y = Image1(i).Top - 80 * Rnd
i = (i + 1) Mod 2
Image1(i).Visible = False
Image1(i).Move x, y----------------
以上是关于一个移动图片的程序,只要一点命令按钮,图片就会从一地方移动到另一地方
关于此程序,我还是有些代码不明白,希望大虾们能够解释一下代码的意思。特别是那个static,他和Dim到底有什么区别,为什么我把static改成dim 图片只移动一会儿就不动了。PS:在回答的时候大家能不能把代码复制下来,在代码后面加上'号,这样方便我理解
command1代码如下(click事件):Timer1.Enabled = True
timer1代码如下:
Static i, x, y As Integer
Image1(i).Visible = True
x = Image1(i).Left + 370 * Rnd
y = Image1(i).Top - 80 * Rnd
i = (i + 1) Mod 2
Image1(i).Visible = False
Image1(i).Move x, y----------------
以上是关于一个移动图片的程序,只要一点命令按钮,图片就会从一地方移动到另一地方
关于此程序,我还是有些代码不明白,希望大虾们能够解释一下代码的意思。特别是那个static,他和Dim到底有什么区别,为什么我把static改成dim 图片只移动一会儿就不动了。PS:在回答的时候大家能不能把代码复制下来,在代码后面加上'号,这样方便我理解
其实这是一个很基础的问题:
Static是定义静态变量和数组变量,Dim定义的叫自动变量。
Static定义的变量,每次引用它时,变量的值会继续保留;而Dim定义的变量,每次引用它时,则会重新赋值。 给大家举个例子,看下面两段代码: Private Sub Form_Click()
Dim a As Integer
a=a+1
End Sub
'a的初值默认为0。每次单击窗体控件,a的初值都重新赋值为0,所以无论单击多少次窗体,a始终为1。 Private Sub Form_Click()
Static a As Integer
a=a+1
End Sub
'a的默认值为0。每次单击窗体控件,a都会保留上一次的值,进行累加,第一次a为1,第二次a为2,第三次a为3,累加下去。 不知大家看后明白了吗?还有一点要说明:Static只能用于过程中
Timer1.Enabled = True
End SubPrivate Sub Timer1_Timer()
Static i, x, y As Integer '设置i,x,y为静态变量,即Timer1运行期间这三个值一直存在
'设置第i个Image1为可见
Image1(i).Visible = True
'以下x,y表示从左下角移动到右上角
x = Image1(i).Left + 370 * Rnd
y = Image1(i).Top - 80 * Rnd
'以下为2张图片交替出现并移动
i = (i + 1) Mod 2
Image1(i).Visible = False
Image1(i).Move x, y
End Sub
dim一个过程结束就会退出内存
有高手了,来学习一下,希望能帮忙解决以下问题
100分求跨两个access数据库的联合查询