两个ListBox的互动操作,循环问题,请高手帮忙!请高手帮忙!

rybgroup 2004-11-02 09:52:01
操作目的是从ListBox1向ListBox2添加内容项,操作由Button1完成.出错情况是:第一次操作是选中ListBox1的第1项,向ListBox2添加了一个项,结果是正确的,第二次操作选中ListBox1的第2项,向ListBox2添加了一个项,结果也是正确的,第三次操作选中ListBox1的第3项,结果是在ListBox2里也添加了2个相同的项,第四次操作选中ListBox1的第4项,结果是在ListBox2里也添加了4个相同的项,第5次操作就添加了6个相同的项了!请问是哪错了,请高手指正.或者提供正确的代码.谢谢谢谢!
private void Button1_Click(object sender, System.EventArgs e)
{
int i,j;
int num=ListBox1.Items.Count; //赋值ListBox1的项目总数
int num2=ListBox2.Items.Count; //赋值ListBox2的项目总数
for(i=0;i<num;i++)
{
if(ListBox1.Items[i].Selected==true)
{
//判断ListBox2列表是否为空
if(num2==0) //为空
{
ListBox2.Items.Add(ListBox1.Items[i].Text.ToString());
}
else  //不为空
{
//判断该值是否在已存在
for(j=0;j<num2;j++)
{
if(ListBox2.Items[j].Text==ListBox1.Items[i].Text) //判断是否有重复
{
Response.Write("<Script>alert('该值已经存在')</Script>"); }
else
{ ListBox2.Items.Add(ListBox1.Items[i].Text.ToString());
}
}
}
}
}
}
...全文
129 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
一半乐事 2004-11-03
  • 打赏
  • 举报
回复
I服了you,自己问题都出来了还不知道怎么写
//判断该值是否在已存在
for(j=0;j<num2;j++)//问题在这里,你的num2是不断变大的,假设为5。
{
if(ListBox2.Items[j].Text==ListBox1.Items[i].Text) //判断是否有重复//假设不满足
{
Response.Write("<Script>alert('该值已经存在')</Script>"); }
else//从0到4,增加了5个重复值。
{ ListBox2.Items.Add(ListBox1.Items[i].Text.ToString());
break;//这里加这条就差不多了,自己试试吧。
}
}

rybgroup 2004-11-03
  • 打赏
  • 举报
回复
那正确的语法应该怎么写?
一半乐事 2004-11-02
  • 打赏
  • 举报
回复
看出你的问题了:
//判断该值是否在已存在
for(j=0;j<num2;j++)//问题在这里,你的num2是不断变大的,假设为5。
{
if(ListBox2.Items[j].Text==ListBox1.Items[i].Text) //判断是否有重复//假设不满足
{
Response.Write("<Script>alert('该值已经存在')</Script>"); }
else//从0到4,增加了5个重复值。
{ ListBox2.Items.Add(ListBox1.Items[i].Text.ToString());
}
}
一半乐事 2004-11-02
  • 打赏
  • 举报
回复
没看出你的问题在哪里。
建议你这样,从listbox2向listbox1添加
int lineexist=0;//判断任务是否存在的变量,如果为1则存在,不用添加。
for(int i=0;i<this.listBox1.Items.Count;i++)
{
if (this.listBox1.Items[i].ToString()==this.listBox2.Text.ToString())
{
lineexist=1;
MessageBox.Show("111111111111");
break;
}
}
if(lineexist==0&&this.listBox2.Text.ToString().Trim()!="")
{
//向列表中添加项
this.listBox1.Items.Add(this.listBox2.Text.ToString());
}

111,098

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧