0

我正在尝试以下列方式指定保存在 My.Settings 中的 ArrayList 的索引

My.Settings("Sup" & Selectedsupplier).Item(0) = Convert.ToDouble(Margin1TextBox.Text)

我在指定索引时遇到问题,上面的代码给出了以下错误“对象变量或未设置块变量”。

我在 My.Settings 中有多个 ArrayList,命名为 Sup1、Sup2 到 Sup20 现在我希望能够将名称中的数字指定为变量,并且我希望能够从选定的 ArrayList 中选择一些索引。

有没有办法做到这一点?

4

1 回答 1

1

你的例子没有问题。您出现此错误的原因是未设置 ArrayList 设置对象。第一次运行您的应用程序时,需要通过为您的 ArrayList 设置分配一个新实例来初始化 UserSetting

这是一个检查设置然后分配值的功能。

Private Sub SetSettingValue(ByVal settingName As String, ByVal itemIndex As Integer, ByVal value As Double)
    Dim setting As ArrayList

    If (My.Settings(settingName) Is Nothing) Then
        My.Settings(settingName) = New ArrayList
    End If

    setting = CType(My.Settings(settingName), ArrayList)

    If (itemIndex >= setting.Count) Then
        Do
            setting.Add(Nothing)

        Loop While (itemIndex >= setting.Count)
    End If

    setting(itemIndex) = value
End Sub
于 2012-08-21T18:45:42.193 回答