0

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

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

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

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

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

    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

有什么建议么?

4

2 回答 2

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

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

于 2012-04-27T18:59:17.303 回答
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
于 2012-04-27T18:41:46.643 回答