Vb.net Listbox未完全删除项目

Vb.net Listbox未完全删除项目,vb.net,listbox,Vb.net,Listbox,我有一个表单,它将选中的项目从checkedlistbox存储到另一个表单的listbox中 'Form2 Public Sub New(ByVal Citems As List(Of String), ByVal Citems2 As List(Of String)) InitializeComponent() ListBox1.Items.AddRange(Citems.ToArray) ListBox2.Items.AddRange(Citems2.ToArray

我有一个表单,它将选中的项目从checkedlistbox存储到另一个表单的listbox中

'Form2
 Public Sub New(ByVal Citems As List(Of String), ByVal Citems2 As List(Of String))
    InitializeComponent()
    ListBox1.Items.AddRange(Citems.ToArray)
    ListBox2.Items.AddRange(Citems2.ToArray)


 Private Sub Cancel_Click(sender As Object, e As EventArgs) Handles Button2.Click 
'Cancel the form and returns to Form 1

    ListBox1.Items.Clear()
    ListBox1.Refresh()
    ListBox2.Items.Clear()
    ListBox2.Refresh()
    Me.Close()
End Sub

'Form 1
 Dim Citems As New List(Of String)
Dim Citems2 As New List(Of String)


Private Sub btnSubmit_Click(sender As Object, e As EventArgs) Handles btnSubmit.Click
    For Each I As String In CheckedListBox1.CheckedItems
        Citems.Add(I)
    Next

    For Each I As String In CheckedListBox2.CheckedItems
        Citems2.Add(I)
    Next

    Dim SecondForm As New Form2(Citems, Citems2)
    SecondForm.Show()
这是我所拥有的代码,用来清除列表框并关闭表单。问题是,再次打开时,以前选择的项目仍在列表框中。如何在不完全关闭应用程序的情况下清除数据

这是有效的:

 Private Sub btnSubmit_Click(sender As Object, e As EventArgs) Handles btnSubmit.Click

 Citems.Clear()
For Each I As String In CheckedListBox1.CheckedItems
        Citems.Add(I)
    Next
Citems2.Clear()
    For Each I As String In CheckedListBox2.CheckedItems
        Citems2.Add(I)

    Next

在添加到列表之前清除该列表。谢谢您的帮助。

您如何再次显示表单?在该表单的Load()事件中,您是否有可能再次填充列表框的代码?@Idle\u Mind我已经添加了其余的代码。看起来它正在按设计工作:每次引用Form2时,您都会向它传递一些LBs信息。您的btn Clear事件只会清除列表框,未传递源列表-这是您希望它做的吗?@puropoix验证表单中的Form2用于什么,以确保用户选择了他们想要的正确项目,即他们没有选择正确的项目,他们可以取消Form2,返回Form1,选择正确的项目,然后Form2将显示前一个项目仍然存在的项目。第一个选择是:1、2和4,他们也想要3,所以新的选择是:1、2、3和4,而不是1、1、2、2、3、4和4。听起来问题是第一种形式。不需要清除列表框的代码。当窗体关闭时(最后一行),它们将被清除。如果他们取消并返回,则看起来像是
Citems.Add(I)
,而另一方在下次单击Submit时只需将新项目添加到主列表中。它们只需清除一次,而不需要循环。当您添加项目(2)时,它将删除项目(1)。感谢您的帮助。我只专注于删除我没有看的双打并选择多个项目。你应该花点时间返回并接受/更新对旧问题的一些答案。让你更有可能得到回应。