vb.net循环遍历控件和my.settings变量

时间:2012-08-04 17:57:41

标签: vb.net

我有20个文本框和20个my.settings变量

textboxes和my.settings变量具有相同的名称 文本框名称:mid0,其值为my.settings.mid0

文本框是在运行时创建的 我有一个保存按钮,它将保存my.settings变量中文本框的值

这是代码

Dim Ctl As Control
    Dim MyTextbox As TextBox
    For i As Integer = 0 To 20
        Ctl = tabc.TabPages(6).Controls.Item("mid" & i.ToString)
        If Ctl IsNot Nothing Then
            MyTextbox = CType(Ctl, TextBox)
            My.Settings.("mid" & i.ToString) = MyTextbox.Text 'this line is the problem
        End If
    Next

那么如何循环my.settings变量呢? 从中午到中旬形成

我试过

CallByName(My.Settings, "mid" & i.ToString, CallType.Set) = MyTextbox.Text

但我收到错误“表达式是一个值,因此不能成为作业的目标。”

2 个答案:

答案 0 :(得分:3)

将My.Settings行更改为

My.Settings("mid" & i.ToString) = MyTextbox.Text 

这实际上相当于删除了句号:)

答案 1 :(得分:1)

你不能写CallByName(...)= smtg。因为CallByName是一个函数,而不是属性 但CallByName的第四个参数让你做你想做的一切 以下是您需要的代码,无需更改所有代码即可使用:

CallByName(My.Settings, "mid" & i.ToString, CallType.Set, MyTextbox.Text)

我认为这对你很有帮助。祝你好运!