我遇到了问题,非常感谢任何帮助。我有一个逗号分隔的数组,我用来获取下拉列表的选定值。问题是数组只显示最后一个值。
这是我的代码:
Dim values As String
values = "RO,RW"
Dim sites As String() = Nothing
sites = values.Split(",")
Dim s As String
For Each s In sites
emptytext.SelectedItem.Text = s
Next
答案 0 :(得分:1)
将变量s
始终设置为同一项会导致所描述的行为
可能你想要这样的东西(假设emptyText是一个组合框或排序列表)
emptytext.Items.Clear()
For Each s In sites
emptytext.Items.Add(s)
Next
答案 1 :(得分:1)
您评论说您有两个下拉列表,并且您希望逗号分隔列表中的值成为下拉列表中的选定项目。因此,您需要依次浏览项目和下拉列表并设置每个项目的选择项。
我创建了一个Windows Forms项目表单,如下所示:
(控件都有默认名称)。
然后我使用了以下代码:
Public Class Form1
Dim ddls() As ComboBox
Private Sub SetUpDropdowns()
Dim values() As String = "RO,RW".Split(","c)
ddls = {ComboBox1, ComboBox2}
For Each ddl In ddls
ddl.Items.AddRange(values)
Next
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim settings = TextBox1.Text.Split(","c)
If settings.Count > ddls.Count Then
MsgBox(String.Format("Too many setting values entered, maximum is {0}.", ddls.Count))
Exit Sub
End If
For i = 0 To settings.Count - 1
ddls(i).SelectedItem = settings(i)
Next
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
SetUpDropdowns()
End Sub
End Class
[编辑:在设置中使用.AddRange而不是循环中的.Add。]
我在TextBox中输入了RO,RW
,然后点击了Button1来获取此信息: