江北书生的博客

如果有一天, 让你心动的再也感动不了你,让你愤怒的再也激怒不了你,让你悲伤的再也不能让你流泪,你便知道这时光,这生活给了你什么,你为了成长,付出了什么。

导航

两个列表框(ListBox)之间的内容相互移动,可以单个,也可以多个的实现

发现很多网站上有这种效果,下面来实现一下吧!

如下图,按>>可以将左边的内容全部移动右边列表框,按>可以将选中的一个或者多个移动到右边的列表框。

实现过程:

>>按钮的事件

>>按钮事件
 foreach(ListItem i in ListBox1.Items)
{
string a = i.Text;
string b = i.Value;
ListBox2.Items.Add(new ListItem(a, b));

}
ListBox1.Items.Clear();

 

>按钮的事件可以用for来做:

 1    for (int i = 0; i < ListBox1.Items.Count; i++)
2 {
3 if (ListBox1.Items[i].Selected)
4 {
5 string a = ListBox1.Items[i].Text;
6 string b = ListBox1.Items[i].Value;
7 ListBox2.Items.Add(new ListItem(a, b));
8 ListBox1.Items.RemoveAt(i);
9 i--;
10 }
11 }

其实:>按钮的实现用最好的方法是 while循环:

1    while (ListBox1.SelectedIndex > -1)
2 {
3 if (ListBox1.SelectedItem.Selected)
4 {
5 ListBox2.Items.Add(ListBox1.SelectedItem);
6 }
7 ListBox1.Items.Remove(ListBox1.SelectedItem);
8 }

以上是实现移动全部和移动选中单个或者多个的方法,下面的从右边向左边移动,是一样的。在此就不在阐述。





 

posted on 2011-11-23 13:40  猫叔jack  阅读(1539)  评论(0编辑  收藏  举报