Как бы вы получили доступ к определенному индексу в массиве My.Settings, используя формат строки
У меня есть ArrayList, сохраненный в My.Settings. Я пытаюсь получить к нему доступ, используя некоторую строку. Вот код, чтобы вы получили то, что я пытаюсь сделать.
If listBoxEdit1.SelectedIndex > -1 Then
My.Settings("Sup" & listBoxEdit1.SelectedIndex + 1 & "(1)") = Convert.ToDouble(Margin2TextBox.Text)
End If
мне нужно указать значение для My.Settings.Sup1(1)
Как бы вы это сделали?
У меня есть несколько ArrayLists, который идет от My.Settings.Sup1 до My.Settings.Sup20, так что listBoxEdit1.SelectedIndex+1
указывает номер ArrayList, но я не могу понять, как получить индекс
также пытался
My.Settings("Sup" & listBoxEdit1.SelectedIndex + 1 &"("& 1 & ")")
также
My.Settings("Sup" & listBoxEdit1.SelectedIndex + 1).Item(1)
1 ответ
Выбрать StringCollection
как тип вашей настройки.
Тогда вы можете легко получить доступ к определенному элементу с индексом.
Dim setting As StringCollection = My.Settings.MySetting
Dim value1 = My.Settings.MySetting(1)
Dim value2 = My.Settings.MySetting(2)
Dim valueX = My.Settings.MySetting.Item(X)
редактировать
Если ваша настройка называется Sup1
Вы можете получить к нему доступ через My.Settings("Sup1")
или My.Settings("Sup" и т. д.). Тогда у вас есть свой ArrayList
или же StringCollection
и может получить доступ к его элементам, как и любой другой ArrayList
или же StringCollection
,
Так что ваш код, вероятно, должен читать:
My.Settings("Sup" & listBoxEdit1.SelectedIndex + 1)(1) = Convert.ToDouble(Margin2TextBox.Text)
Вот еще один пример:
My.Settings.MySetting1 = New StringCollection()
My.Settings("MySetting" & 1).Add("FooBar")
My.Settings("MySetting" & 1).Add("123456")
My.Settings("MySetting" & 1)(0) = "Hey, what's up?"
MsgBox(My.Settings("MySetting" & 1)(1))