列表框的左右移动,单个,多个,全部


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

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

实现过程:

>>按钮的事件

 

1    foreach(ListItem i in ListBox1.Items)
2 {
3 string a = i.Text;
4 string b = i.Value;
5 ListBox2.Items.Add(new ListItem(a, b));
6
7 }
8 ListBox1.Items.Clear();

 

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

        for (int i = 0; i < ListBox1.Items.Count; i++)
{
if (ListBox1.Items[i].Selected)
{
string a = ListBox1.Items[i].Text;
string b = ListBox1.Items[i].Value;
ListBox2.Items.Add(new ListItem(a, b));
ListBox1.Items.RemoveAt(i);
i--;
}
}

 

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

1  //用while循环  //方便简单
2 while (ListBox1.SelectedIndex > -1)
3 {
4 if (ListBox1.SelectedItem.Selected)
5 {
6 ListBox2.Items.Add(ListBox1.SelectedItem);
7 }
8 ListBox1.Items.Remove(ListBox1.SelectedItem);
9 }

 

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

 

 

转载于:https://www.cnblogs.com/lsck/archive/2011/11/23/2260187.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值