2

我正在使用 VISUAL BASIC 2010 编写一个小型应用程序(它包含在 Visual Studio 2010 中)。

我有一个列表框设置为由 Access 数据库填充。数据库有两列:1) 变量名称 2) 描述。

作为我的问题中使用的示例,这是我的数据示例:

变量名称 描述 DOG1 来自家族 1 的犬种

现在,我有一个由 Description 列填充的列表框。这就是我需要的。我想单击一个按钮,然后根据单击的项目,在文本框中显示其相应的“描述”。这与我相信 DisplayMember 和 ValueMember 有关。我一次成功地完成了一项。我的问题是,如何使用循环为列表框中可能选择的几个项目执行相同的任务?

这是我的代码,它可以 100% 地显示一次单击的项目。

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            TextBox1.Text = ListBox1.SelectedValue  
    End Sub

我认为以下内容会起作用,但事实并非如此,我也不太清楚为什么。

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim i As Integer
        For i = 0 To ListBox1.SelectedValue - 1    
           TextBox1.Text = ListBox1.SelectedValue(i)
        Next i
End sub

另外,如果可能的话,我想获取在 listbox1 中选择的项目并将它们的值显示在另一个列表框中。我之前使用自己填充的简单列表框完成了此操作,但现在我正在使用值和显示成员,我似乎无法调整代码:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim i As Integer
        For i = 0 To Listbox1.SelectedItems.Count - 1
            Listbox2.Items.Add(Listbox1.SelectedItems.Item(i))
        Next i

非常感谢您提前提供的帮助!

4

3 回答 3

0

我认为你需要 -

For i = 0 To ListBox1.SelectedValue - 1    
           TextBox1.Text &= ListBox1.SelectedValue(i)
        Next i

见“&”。

还没有机会仔细检查。

于 2013-02-27T16:57:59.583 回答
0

这应该是你需要的。试试看。不要忘记将 Listbox 的 SelectionMode 属性更改为 Multisimple。

TextBox1.Clear()
Listbox2.Items.Clear()
For x As Integer = 0 To ListBox1.SelectedItems.Count - 1
    TextBox1.Text += ListBox1.SelectedItems(x).ToString + " "
    ListBox2.Items.Add(ListBox1.SelectedItems(x).ToString)
Next x
于 2014-01-19T15:25:47.667 回答
0

试试这个查看从Listbox1Listbox2

ListBox1.Items.Add("Dog, Cat, Fish, Bear, Bird, Goat")

Dim myArr() As String = ListBox1.Items.OfType(Of String)().ToArray()
ListBox2.DataSource = myArr
于 2014-12-03T01:36:21.393 回答