当前位置:编程学习 > C#/ASP.NET >>

比较低端的。。关于两个计时器的使用问题

用两个计时器,一个计时器的间隔为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
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,