在列表框中选择所选项并填充到文本框中

时间:2012-04-27 18:26:04

标签: vb.net listbox listboxitems

好吧,我目前有一个列表框,其中填充了各种文件。

我想要做的是选择一个文件,点击添加按钮,然后将项目名称填充到该文本框中。

然后,选择另一个项目,单击“添加”按钮并将指定的项目填充到空文本框中。

我可以填充第一个文本框,但是一旦我选择了第二个项目,我就无法显示空文本框。

这是关于我如何填充第一个文本框的当前代码。注释掉的部分用于将这些项目添加到另一个列表框中,但是我需要指定一个自定义订单,我想将每个项目添加到文本框中。

    Private Sub ButtonAdd_Click(sender As System.Object, e As System.EventArgs) Handles ButtonAdd.Click
    'Dim selectedItems = (From i In ListBox1.SelectedItems).ToArray()
    'For Each selectedItem In selectedItems
    'ListBox3.Items.Add(selectedItem)
    'ListBox1.Items.Remove(selectedItem)
    'Next

    TextBox1.Text = ListBox1.SelectedItem

    End Sub

有什么建议吗?

2 个答案:

答案 0 :(得分:0)

尝试这样的事情:

Private Sub ButtonAdd_Click(sender As System.Object, e As System.EventArgs) Handles ButtonAdd.Click
    If string.IsNullOrEmpty(TextBox1.Text) Then 
        TextBox1.Text = ListBox1.SelectedItem
    ElseIf string.IsNullOrEmpty(TextBox2.Text) Then 
        TextBox2.Text = ListBox1.SelectedItem
    ElseIf string.IsNullOrEmpty(TextBox3.Text) Then 
        TextBox3.Text = ListBox1.SelectedItem
    End If
End Sub

答案 1 :(得分:0)

我把一个快速的小演示放在一起。

首先是aspx页面:

<asp:ListBox id="lstItems" runat="server">
    <asp:ListItem>-- Select --</asp:ListItem>
    <asp:ListItem>Item 1</asp:ListItem>
    <asp:ListItem>Item 2</asp:ListItem>
    <asp:ListItem>Item 3</asp:ListItem>
    <asp:ListItem>Item 4</asp:ListItem>
</asp:ListBox>
<asp:Panel ID="pnlTextboxes" runat="server">
    <asp:TextBox ID="txt1" runat="server" />
    <asp:TextBox ID="txt2" runat="server" />
    <asp:TextBox ID="txt3" runat="server" />
    <asp:TextBox ID="txt4" runat="server" />
</asp:Panel>
<asp:Button id="btnAdd" Text="Add" runat="server" />

背后的代码:

Protected Sub btnAdd_Click(sender As Object, e As EventArgs) Handles btnAdd.Click
    If lstItems.SelectedIndex <= 0 Then
        Return
    End If
    For Each ctrl As Control In pnlTextboxes.Controls
        If TypeOf ctrl Is TextBox Then
            Dim txt = CType(ctrl, TextBox)
            If String.IsNullOrEmpty(txt.Text) Then
                txt.Text = lstItems.SelectedValue
                Exit For
            End If
        End If
    Next
End Sub

请注意,如果您已经选择了该项目,则不会跟踪。