![]() |
#2
风吹过b2013-07-31 10:54
看代码没大问题,
最后一个 的 next i 和 end if 写反位置了。 我测试的结果是所有的线都出来了。这个测试好烦。太多了控件。 ![]() Option Explicit Private Sub Command1_Click() '绘线 Dim i As Long Dim x As Long, xx As Long Dim y As Long, yy As Long For i = 0 To 318 Step 1 If i < 19 Then x = (Val(Form1.Text6(i).Text)) xx = (Val(Form1.Text6(i + 1).Text)) y = (Val(Form1.Text2(i).Text)) yy = (Val(Form1.Text2(i + 1).Text)) If Form1.Check1.Value = 1 Then Form1.Picture_tps.Line (x, y)-(xx, yy), vbRed '红色 Else Form1.Picture_tps.Line (x, y)-(xx, yy), vbBlack End If End If If (19 < i And i < 39) Then x = (Val(Form1.Text6(i - 20).Text)) xx = (Val(Form1.Text6(i + 1 - 20).Text)) y = (Val(Form1.Text2(i).Text)) yy = (Val(Form1.Text2(i + 1).Text)) If Form1.Check2.Value = 1 Then Form1.Picture_tps.Line (x, y)-(xx, yy), vbYellow '黄色 Else Form1.Picture_tps.Line (x, y)-(xx, yy), vbBlack End If End If Next i End Sub Private Sub Command2_Click() '增加 text 控件 If Text6.Count < 319 Then Dim i As Long Text6(0).Move 120, 120, 255, 270 Text2(0).Move 5400, 120, 255, 270 For i = 1 To 319 Load Text6(i) With Text6(i) .Top = 120 + (i \ 20) * 270 .Left = 120 + (i Mod 20) * 255 .Height = 270 .Width = 255 .Text = i .Visible = -True End With Load Text2(i) With Text2(i) .Top = 120 + (i \ 20) * 270 .Left = 5400 + (i Mod 20) * 255 .Height = 270 .Width = 255 .Text = i .Visible = -True End With Next i End If End Sub Private Sub Command3_Click() '产生随机数据 Dim i As Long For i = 0 To 319 Text6(i).Text = Rnd() * 900 Text2(i).Text = Rnd() * 900 Next i End Sub |
我定义了一个数组,供320个元素,每行20个元素。Text6 存储X轴坐标,text2储存数据
我把每行的数据在同一个picturebox里画曲线,为什么每行数据都一样时,只能显示最后一行的曲线,其他显示不了,求大师。
For i = 0 To 318 Step 1
If i < 19 Then
x = (Val(Form1.Text6(i).Text))
XX = (Val(Form1.Text6(i + 1).Text))
y = (Val(Form1.text2(i).Text))
YY = (Val(Form1.text2(i + 1).Text))
If Form1.Check1.Value = 1 Then
Form1.Picture_tps.Line (x, y)-(XX, YY), vbRed '红色
Else
Form1.Picture_tps.Line (x, y)-(XX, YY), vbBlack
End If
End If
If (19 < i And i < 39) Then
x = (Val(Form1.Text6(i - 20).Text))
XX = (Val(Form1.Text6(i + 1 - 20).Text))
y = (Val(Form1.text2(i).Text))
YY = (Val(Form1.text2(i + 1).Text))
If Form1.Check2.Value = 1 Then
Form1.Picture_tps.Line (x, y)-(XX, YY), vbYellow '黄色
Else
Form1.Picture_tps.Line (x, y)-(XX, YY), vbBlack
End If
。
。
。
。
。
。
。
。
。
Next i
End If