CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

两个listBox传值问题 WinForm

楼主kdg2000(小刚)2006-02-09 19:16:45 在 .NET技术 / C# 提问

如何把listBox1中选择的多项传到listBox2中   并且删除原listBox1中的该N项   ?  
   
  注:WinForm     没有ListItem  
   
  解决问题马上结帖 问题点数:50、回复次数:13Top

1 楼xhsr(散人)回复于 2006-02-09 19:40:34 得分 10

SelectedObjectCollection   selecteds   =   listBox1.SelectedItems  
  for(int   i   =   selecteds.Count   -   1;   i   >=   0;   i--)  
  {  
        listBox2.Items.Add(selecteds[i]);  
        listBox1.Items.Remove(selecteds[i];  
  }  
  Top

2 楼kdg2000(小刚)回复于 2006-02-09 20:06:39 得分 0

SelectedObjectCollection不行  
   
  都下班回家了吗?Top

3 楼True1024()回复于 2006-02-09 21:35:04 得分 0

for(int   i=0;   i<   listBox1.SelectedIndices.Count;i++)  
  {  
  listBox2.Items.Add(listBox1.Items[listBox1.SelectedIndices[i]]);  
  }  
  for(int   x=0;   x<   listBox1.SelectedIndices.Count;x++)  
  {  
  listBox1.Items.Remove(listBox1.Items[listBox1.SelectedIndices[x]]);  
  }Top

4 楼True1024()回复于 2006-02-09 21:41:53 得分 10

//上述程序做出如下修改  
  //如果listBox2有初始数据的话,可以用数组记录添加到listBox2的项。  
  //dotnet2003   winxp   测试通过  
   
   
  for(int   i=0;   i<   listBox1.SelectedIndices.Count;i++)  
  {  
  listBox2.Items.Add(listBox1.Items[listBox1.SelectedIndices[i]]);  
  }  
   
  for(int   m=0;   m<   listBox2.Items.Count;   m++)  
  {  
  listBox1.Items.Remove(listBox2.Items[m]);  
  }Top

5 楼Cnapollo(旁痞)回复于 2006-02-09 22:31:48 得分 10

foreach(object o in listBox1.SelectedItems)  
  listBox2.Items.Add(o);  
  foreach(object o in listBox2.Items)  
  listBox1.Items.Remove(o);  
  Top

6 楼kdg2000(小刚)回复于 2006-02-10 13:05:00 得分 0

在foreach循环中是不能remove项的。  
   
  问:    
  如何删除listBox中指定value的项?Top

7 楼lovvver(ElephantTalk.Bright)回复于 2006-02-10 13:47:22 得分 0

ListBox   lb   =   new   ListBox()   ;  
  ListBox   lb1   =   new   ListBox()   ;  
  foreach(string   s   in   lb.Items)  
  {  
  lb.Items.Remove(s)   ;  
  lb1.Items.Add(s)   ;  
  }Top

8 楼True1024()回复于 2006-02-10 19:58:08 得分 0

listBox1.Items.Remove("要删除的值");Top

9 楼Cnapollo(旁痞)回复于 2006-02-10 21:20:52 得分 0

to:   kdg2000(小刚)    
   
  请看清楚,我在for什么Top

10 楼Cnapollo(旁痞)回复于 2006-02-10 21:29:48 得分 0

foreach(objectoinlistBox2.Items)         ->listbox2  
  listBox1.Items.Remove(o);                     ->listBox1.  
  这样当然可以remove了Top

11 楼lidong6(立冬)回复于 2006-02-11 17:14:54 得分 10

以下代码没试通过:  
  int   c=listBox1.SelectedItems.Count;  
  for   (int   i=0;i<c;i++)  
  {  
  listBox1.Items.Remove(listBox1.SelectedItems[0]);  
  }  
   
  这个问题真比较绕,以前就为这个问题费了好大劲儿.Top

12 楼zhzuo(秋枫)回复于 2006-02-12 11:50:05 得分 10

传递引用.  
  http://blog.csdn.net/zhzuo/archive/2004/04/05/22027.aspxTop

13 楼coolduck(coolduck)回复于 2006-04-26 17:43:11 得分 0

经过验证,绝对可用  
                private   void   Add_Click(object   sender,   EventArgs   e)  
                  {  
                          bool   IsHave=false;  
                          for   (int   i   =   (SourceFile.Items.Count)   -   1;   i   >=   0;   i--)  
                          {  
                                  if   (SourceFile.GetSelected(i)==   true)  
                                  {  
                                          foreach   (string   li   in   TargetFile.Items)  
                                          {  
                                                  if   (li   ==   SourceFile.Items[i].ToString())  
                                                  {  
                                                          IsHave   =   true;  
                                                  }  
                                          }  
                                          if   (!IsHave)  
                                          {  
                                                  TargetFile.Items.Add(SourceFile.Items[i]);  
                                                  SourceFile.Items.RemoveAt(i);  
                                          }  
                                          IsHave   =   false;  
                                  }  
                          }  
                  }Top

相关问题

  • listBox传值问题
  • winform的listBox
  • listbox传值的问题
  • 如何在winform取得Listbox(多选)中未选中的值?
  • 请问 winform中关于listbox设置多选后的取值
  • C# winform程序 如何取得listbox被选项的值
  • winForm中 如何邦定listBox
  • listbox取值问题?
  • WinForm传值题,急急急!!!
  • winform中listbox控件如何对任意行添加text、value值以及取值?(任意行)

关键词

  • listbox
  • ishave
  • sourcefile
  • items
  • remove
  • selecteds

得分解答快速导航

  • 帖主:kdg2000
  • xhsr
  • True1024
  • Cnapollo
  • lidong6
  • zhzuo

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo