如何在VB.Net中为此创建for
循环? (如下所示)
下面的代码将值添加到我的图表中,并由存储在Windows窗体上的标签填充。
With .Points
.AddXY(0, 0)
.AddXY(1, LblWkEff1.Text)
.AddXY(2, LblWkEff2.Text)
.AddXY(3, LblWkEff3.Text)
.AddXY(4, LblWkEff4.Text)
.AddXY(5, LblWkEff5.Text)
.AddXY(6, LblWkEff6.Text)
.AddXY(7, LblWkEff7.Text)
.AddXY(8, LblWkEff8.Text)
.AddXY(9, LblWkEff9.Text)
.AddXY(10, LblWkEff10.Text)
End With
答案 0 :(得分:1)
像这样:(假设控件直接添加到表单中)
With .Points
.AddXY(0, 0)
For i As Integer = 1 to 10
.AddXY(i, Me.Controls.Item(String.Format("LblWkEff{0}", i)).Text)
Next
End With
我建议您解析Y轴:
.AddXY(i, Integer.Parse(Me.Controls.Item(String.Format("LblWkEff{0}", i)).Text))
答案 1 :(得分:1)
我假设您正在使用WinForms。表单有一个Controls
集合,其中有一个重载的Item
索引器(默认属性)接受Integer
索引或控件名称为String
。
With .Points
.AddXY(0, 0)
For i As Integer = 1 To 10
.AddXY(i, Controls.Item("LblWkEff" & i).Text)
Next
End With
如果您有Option Strict On,则会生成较少错误的代码。如果有,则需要明确执行缩小转化。
.AddXY(i, CInt(Controls.Item("LblWkEff" & i).Text)) 'Use CInt for the conversion
另一方面,Integer
在字符串连接中使用时会自动转换为String
。