ListBox的多选
这个比较简单,通过循环就可以搞定。
首先设置ListBox的选择模式为多行:

关于ListBox和DataTable的一点儿心得Me.ListBox1.SelectionMode = ListSelectionMode.Multiple

然后是处理选择:
关于ListBox和DataTable的一点儿心得If Me.ListBox1.SelectedIndex > -1 Then
关于ListBox和DataTable的一点儿心得    
Dim sValue As String
关于ListBox和DataTable的一点儿心得    
Dim sText As String
关于ListBox和DataTable的一点儿心得    
For i As Integer = 0 To Me.ListBox1.Items.Count() - 1
关于ListBox和DataTable的一点儿心得        
If Me.ListBox1.Items(i).Selected Then
关于ListBox和DataTable的一点儿心得            sValue 
&= Me.ListBox1.Items(i).Value & ","
关于ListBox和DataTable的一点儿心得
            sText &= Me.ListBox1.Items(i).Text & ","
关于ListBox和DataTable的一点儿心得
        End If
关于ListBox和DataTable的一点儿心得    
Next
关于ListBox和DataTable的一点儿心得    
Me.Label1.Text = "You choose: " & Left(sValue, sValue.Length - 1)
关于ListBox和DataTable的一点儿心得    
Me.Label2.Text = "You choose: " & Left(sText, sText.Length - 1)
关于ListBox和DataTable的一点儿心得
Else
关于ListBox和DataTable的一点儿心得    
Me.Label1.Text = "You have no choose!"
关于ListBox和DataTable的一点儿心得
    Me.Label2.Text = ""
关于ListBox和DataTable的一点儿心得
End If


这样就可以将ListBox里的选择内容变成以 ","  隔开的字符串。


ListBox 的删除
ListBox提供了两种删除Item的方法,Remove 和 RemoveAtt(Clear方法是移除了所有的对象,不能算是删除具体的Item)
删除单个的选择比较容易,下面介绍一个删除多个选择的方法,当然也能删除单个了

关于ListBox和DataTable的一点儿心得Do Until Me.ListBox1.SelectedIndex < 0
关于ListBox和DataTable的一点儿心得    
Me.ListBox1.Items.RemoveAt(Me.ListBox1.SelectedIndex)
关于ListBox和DataTable的一点儿心得
Loop


DataTable
和上面的ListBox有点儿关系,在工作中遇到的情况。
要求选择不同的人员到不同的ListBox中,每个ListBox代表一种角色。
所添加的人不能同时出现在两个及其以上的ListBox中,也就是说每个人只能是一种角色。看下面的代码:
End Function

动态生成Unique列的方法适合于一次性插入不同数据的执行前检验。

以上代码为测试使用,只是实现了功能要求,具体要用的话还要再酌情处理一下。

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-02-01
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-06-12
  • 2021-10-11
  • 2021-10-22
  • 2021-06-18
  • 2021-12-12
  • 2021-12-12
相关资源
相似解决方案