您的位置:首页 > 编程语言 > VB

VB.net中两侧列表框内容互换的解决方案

2012-11-18 14:48 323 查看
大家者遇到过需要将两个LISTBOX的内容互换的问题。例如左侧有姓名,住址,职业等字段需要加入到右侧的LISTBOX中以备利用。

一般的方法是:根据列表框内容的索引值和列表框中Item的个数来解决。



下面的例子就是用的这种方法。如图所示

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

ListBoxLeft.Items.Add("岳飞")

ListBoxLeft.Items.Add("刘备")

ListBoxLeft.Items.Add("关羽")

ListBoxLeft.Items.Add("赵云")

End Sub

// 按钮 >

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click

Dim i As Integer = ListBoxLeft.Items.Count - 1 '记录左侧列表框的内容的个数

While i <> -1

If (ListBoxLeft.SelectedIndex <> -1) Then '获取被选择的索引值

ListBoxRight.Items.Add(ListBoxLeft.Items(ListBoxLeft.SelectedIndex).ToString()) '加入到右侧列表框

ListBoxLeft.Items.RemoveAt(ListBoxLeft.SelectedIndex) '清除左侧列表框被选择的内容

Exit While '单次执行跳出循环

End If

i - = 1 '索引值递减

End While

End Sub

// 按钮 >>

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click

Dim i As Integer

For i = 0 To (ListBoxLeft.Items.Count - 1) '根据索引值 依次将左侧列表框的内容加入到右侧列表框

ListBoxRight.Items.Add(ListBoxLeft.Items(i).ToString())

Next

ListBoxLeft.Items.Clear() '清除左侧列表框的内容

End Sub

//按钮 <

Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click

Dim i As Integer = ListBoxRight.Items.Count - 1 '记录右侧列表框的内容的个数

While i <> -1

If (ListBoxRight.SelectedIndex <> -1) Then '根据索引值 依次将右侧列表框的内容加入到左侧列表框

ListBoxLeft.Items.Add(ListBoxRight.Items(ListBoxRight.SelectedIndex).ToString())

ListBoxRight.Items.RemoveAt(ListBoxRight.SelectedIndex)
'清除右侧列表框的内容

Exit While

End If

i - = 1 '索引值递减

End While

End Sub

//按钮 <<

Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click

Dim i As Integer

For i = 0 To (ListBoxRight.Items.Count - 1)

ListBoxLeft.Items.Add(ListBoxRight.Items(i).ToString())

Next

ListBoxRight.Items.Clear()

End Sub
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: