这个循环有点不懂

饺克力克 2011-04-28 08:14:43
            if (this.lbLeft.SelectedItems.Count > 0)
{
lbRight.Items.Clear();
for (int i = 0; i < this.lbLeft.SelectedItems.Count; i++)//
{
lbRight.Items.Add(lbLeft.SelectedItems[i]);//将选中的项放入右边
}
}

这是一个将ListBox1中的选中项在按下“移动”按钮后显示到ListBox2中的程序代码。

我现在不明白的是this.lbLeft.SelectedItems.Count指的是什么。请指点。
...全文
90 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
机器人 2011-04-28
  • 打赏
  • 举报
回复
Count 是数量,有几个选中Count就是多少。不是记录Index。

SelectedItems 保存的是选中的项目:

SelectedItems.Count 是 4

Item1 <- SelectedItems[0]
Item2
Item3 <- SelectedItems[1]
Item4
Item5
Item6 <- SelectedItems[2]
Item7
Item8
Item9 <- SelectedItems[3]
zhizouxiao 2011-04-28
  • 打赏
  • 举报
回复
this.lbLeft.SelectedItems.Count 选中的总数
饺克力克 2011-04-28
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 fangxinggood 的回复:]
因为 ListBox 还可以多选,都用这个判断。

如果ListBox改成多选,你的代码也不用修改了。
[/Quote]
再问:如果将ListBox改成多选,在i < this.lbLeft.SelectedItems.Count这个循环条件中,
是不是我选择了4个就只判断i=0到i=3呢?那这样的话如果我选择的项是1、3、6、9,后面的6和9怎么会被添加进去呢?
机器人 2011-04-28
  • 打赏
  • 举报
回复
因为 ListBox 还可以多选,都用这个判断。

如果ListBox改成多选,你的代码也不用修改了。
饺克力克 2011-04-28
  • 打赏
  • 举报
回复
明白了。this.lbLeft.SelectedItems.Count 只有1和0两个值。
饺克力克 2011-04-28
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 liangfang 的回复:]
this.lbLeft.SelectedItems.Count 当前选中 (点亮) 的 总数
[/Quote]

是ListBox不是CheckedListBox,只能选中一项。
liangfang 2011-04-28
  • 打赏
  • 举报
回复
this.lbLeft.SelectedItems.Count 当前选中 (点亮) 的 总数
机器人 2011-04-28
  • 打赏
  • 举报
回复
表示有选中项目,count = 0 就表示没有选中任何项目。

110,534

社区成员

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

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

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