[VB.NET]如何将从另一个表单返回的字符串项添加到特定位置的列表框中以代替另一个? 这个想法是有一个带有项目的列表框,并且说你想修改列表中间的一个项目。您选择该项目并单击“修改”按钮,此时会出现一个新表单,其中包含第一个表单中先前选择的项目数据,可以在文本框中进行修改。修改并单击“确定”后,第二个表单假设将修改后的字符串返回到第一个表单,并将修改后的字符串插入到同一位置,而不是原始选定的项目,这样用户看起来它就像是被编辑过一样。
编辑: 将伪代码转换为实际的VB.NET代码以刷新我自己的内存:D[VB.NET]如何将从另一个表单返回的字符串项添加到特定位置的列表框中以代替另一个? 这个想法是有一个带有项目的列表框,并且说你想修改列表中间的一个项目。您选择该项目并单击“修改”按钮,此时会出现一个新表单,其中包含第一个表单中先前选择的项目数据,可以在文本框中进行修改。修改并单击“确定”后,第二个表单假设将修改后的字符串返回到第一个表单,并将修改后的字符串插入到同一位置,而不是原始选定的项目,这样用户看起来它就像是被编辑过一样。,vb.net,Vb.net,编辑: 将伪代码转换为实际的VB.NET代码以刷新我自己的内存:D string = InputBox("Enter text") // Do whatever you want with the string x = listBox.SelectedIndex listBox.Items(x) = string 您也可以尝试使用内容代替文本。确保弹出的表单是模态的。下面是一个简单的例子,说明您可以做什么。(这假设您的列表框项目是字符串,这是一个仅编辑三个列表框项目的示例。如果列表要大得多,您
string = InputBox("Enter text")
// Do whatever you want with the string
x = listBox.SelectedIndex
listBox.Items(x) = string
您也可以尝试使用
内容
代替文本。确保弹出的表单是模态的。下面是一个简单的例子,说明您可以做什么。(这假设您的列表框项目是字符串,这是一个仅编辑三个列表框项目的示例。如果列表要大得多,您将需要采用不同的体系结构。)
加载时,它将旋转选定的列表项,并将其值放入文本框中。要更新值
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim intTextboxCounter As Integer = 0
For Each i As Integer In Form1.ListBox1.SelectedIndices
Select Case intTextboxCounter
Case 0
Form1.ListBox1.Items(i) = TextBox1.Text
Case 1
Form1.ListBox1.Items(i) = TextBox2.Text
Case 2
Form1.ListBox1.Items(i) = TextBox3.Text
End Select
Next
End Sub
因此,基本上,您希望通过打开一个新表单来输入新值来修改列表框中的选定项?除了字符串被拆分()并放置在第二个表单上的单独文本框中。然后join()将修改后的值作为单个字符串返回到第一个表单,并将其替换为列表框中的原始项。谢谢,但此方法仅适用于单行文本。它需要应用于字符串,使用数组的split()将split放在第二个表单上的单独文本框中,反之亦然,将InputBox()返回的字符串存储到变量split()
中,并将它们放在正确的位置,如果需要,可以修改它们和Join()
或对它们执行任何操作。好的,我知道了。但是SelectedItem没有文本属性。我用我认为应该更正确的内容编辑了答案。
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim intTextboxCounter As Integer = 0
For Each i As Integer In Form1.ListBox1.SelectedIndices
Select Case intTextboxCounter
Case 0
Form1.ListBox1.Items(i) = TextBox1.Text
Case 1
Form1.ListBox1.Items(i) = TextBox2.Text
Case 2
Form1.ListBox1.Items(i) = TextBox3.Text
End Select
Next
End Sub