将变量用于下一个循环代码

时间:2017-01-01 02:10:59

标签: vb.net

我有以下代码,

My.Settings.h301 = TextBox301.Text
My.Settings.h302 = TextBox302.Text
My.Settings.h303 = TextBox303.Text
My.Settings.h304 = TextBox304.Text
My.Settings.h305 = TextBox305.Text

我想转换上面的代码,如下所示;

For i = 301 To 305 Step 1
    My.Settings.h & i = TextBox & i.Text
Next

所以,请提供正确的下一个循环代码。谢谢。

2 个答案:

答案 0 :(得分:1)

如果这是一个WinForm项目,所有控件都包含在表单的控件集合中,可以通过名称访问,如下所示:

For x As Integer = 300 to 400
Me.Controls("My.Settings.h" & i.ToString()).height = Me.Controls("TextBox" & i.ToString()).Text
Next

答案 1 :(得分:1)

  • 要传递字符串作为控件名称,您可以使用:ParentControl.Controls("ControlName")
  • 要将字符串作为应用程序设置名称传递,您可以使用:My.Settings("SettingName")

因此,您的代码应如下所示:

For i = 301 To 305 Step 1
    My.Settings("h" & i.ToString) = Me.Controls("TextBox" & i.ToString).Text
Next

请注意,如果您的文本框的父级不是表单,则您需要使用父控件名称替换Me

希望有所帮助:)