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
一般的方法是:根据列表框内容的索引值和列表框中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
相关文章推荐
- VB.Net中DataGirdView列表内容回车不换行
- vb.net 删除数据库内容
- 浅析VB.NET实现下拉列表的折行显示
- VB.Net自己写的一个控件:ComboBox下拉列表中显示多列数据(可以绑定数据表)
- ASP.NET导出CSV文件时内容出现换行解决方案
- 根据表格内容,自动调整VB.NET中Datagrid控件单元格宽度
- asp.net 从资源文件中获取资源内容、获取资源列表
- 【教程】如何在C#,VB.NET中提取消息内容
- 推荐n个VB.Net to C# (C# to VB.net)代码转换(互换互转)工具
- [VB.NET源码]实现打印DataGrid列表的示例
- asp.net 从资源文件中获取资源内容、获取资源列表
- [VB.NET]高分求关于网页内容分析的问题(自动翻页)
- [VB.NET]如何把Combobox的下拉列表显示成Checkbox?
- WinCE下透明Label闪烁的问题及解决方案(vb.net)
- vb.net 数组列表详解
- VB.NET 创建打印机选择列表
- C# VB.NET通过DirectorySearcher查询域控时出现0x800700EA解决方案
- VB.NET 操作 ACCESS OLE 字段内容
- VB.NET提取TXT文档指定内容
- VB.NET-轻松判断文本框是否为空,一键清空文本框内容