请帮我 . 我要做的是将列表框中的选定项目转移到标签中 . 但每次我从列表框中单击某个项目时,它都不起作用 . 这是代码 .
Private Sub lbClients_SelectedIndexChanged(sender As Object, e As EventArgs)
Handles lbClients.SelectedIndexChanged
For i = 0 To lbClients.SelectedItems.Count -1
Label1.Text &= lbClients.SelectedItems.Item(i).ToString() & " "
Next
End Sub
我已经包含了错误的照片 .
This is what it looks like. The one with the Client name label.
请帮我 . 我知道这并不难 . 但我一直在寻找答案,它仍然是那样的 . 我刚接触vb.net,对不起 . 谢谢你
这是我用来填充列表框的代码 .
Private Sub ListBoxClients()
Dim connection As New SqlConnection("Data Source=EURIZZE-PC;Initial Catalog=INTERTRANS;Integrated Security=True")
Dim SQLDA As New SqlDataAdapter("Select * FROM CLIENTS", connection)
Dim dt As New DataTable
connection.Open()
SQLDA.Fill(dt)
lbClients.DataSource = dt
lbClients.ValueMember = "User_"
lbClients.DisplayMember = "Clientname"
connection.Close()
End Sub
2 回答
显然,您的ListBox受限于DataTable并使用
DisplayMember
来显示项目 .在这种情况下,项目的类型为
DataRowView
- 这就是您在标签中获取类型名称的原因,您需要指定将用作标签中所选项目的文本的列 .DataRowView具有返回底层
DataRow
对象的属性.Row
.使用
lbClients.DisplayMember
的值必须显示与ListBox中的项相同的文本使用
StringBuilder
可以更有效地在循环中创建字符串 .ListBox.SelectedItems返回当前所选项的集合 .
循环遍历列表框的SelectedItems集合 .
例如代码: