比较低端的。。关于两个计时器的使用问题
用两个计时器,一个计时器的间隔为5秒,事件为在(0,291)产生一辆车的图片,然后另一个计时器间隔为100毫秒,设置为每次图片产生后发生,目的是改变图片的x坐标来使他向右移动个不同间隔的计时器,产生多张移动的图片。效果类似于多辆车先后开出,以相同间距移动。用的是控件数组,我的想法是先产生图片,让他们按照一定距离排列,产生即开始移动,但直到到达位置后才显示。下面是我的语句Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick
che = Val(Dialog2.TextBox4.Text)
ReDim pic1(che - 1)
pic1(i) = New PictureBox()
pic1(i).Size = PictureBox5.Size
pic1(i).Image = PictureBox5.Image
pic1(i).Location = New Point(0 - 121 * i, 291)
If pic1(i).Location.X >= 0 Then
pic1(i).Visible = True
End If
pic1(i).Show()
Me.Controls.Add(pic1(i))
i = i + 1
End Sub
Private Sub Timer3_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer3.Tick
che = Val(Dialog2.TextBox4.Text)
t2 = Val(Dialog3.TextBox2.Text)
For i = 0 To che - 1
pic1(i).Left = pic1(i).Left + 121 / t2 / 10
Next
End Sub
pic1(i).Left = pic1(i).Left + 121 / t2 / 10这句
未将对象引用设置到对象的实例
请问哪里错了? --------------------编程问答-------------------- Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick
che = Val(Dialog2.TextBox4.Text)
ReDim pic1(che - 1)
pic1(i) = New PictureBox()
pic1(i).Size = PictureBox5.Size
pic1(i).Image = PictureBox5.Image
pic1(i).Location = New Point(0 - 121 * i, 291)
If pic1(i).Location.X >= 0 Then
pic1(i).Visible = True
End If
pic1(i).Show()
Me.Controls.Add(pic1(i))
i = i + 1
End Sub
Private Sub Timer3_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer3.Tick
che = Val(Dialog2.TextBox4.Text)
t2 = Val(Dialog3.TextBox2.Text)
ReDim pic1(che - 1)
For i = 0 To che - 1
pic1(i).Left = pic1(i).Left + 121 / t2 / 10
Next
End Sub
--------------------编程问答-------------------- 我也在做用timer控件绘制动画,学习一下。 --------------------编程问答--------------------
程序中断时,你就可以看到各个变量的值是不是空。
学会基本的调试方法吧。别向别人提“连哪个变量值是空?”这类问题。 --------------------编程问答-------------------- 100毫秒的计时器启动太早了吧,应该是5s的计时器加载图片完成后才出发100毫秒的计时器,要不然还没图片呢怎么移动图片
补充:.NET技术 , VB.NET