日期:2014-05-18  浏览次数:20722 次

关于C#中ListBox的一些问题
C# code

 //从listbox中删除内容
        private void ListBoxDel_Click(object sender, EventArgs e)
        {
            string selectedString;
            int num = listBox1.SelectedItems.Count;  //问题1,这个Count是什么?
            for (int i = num; i > 0; i--)
            {
                selectedString = listBox1.SelectedItems[i - 1].ToString(); //问题2,SelectedItems[i-1]代表什么?
                listBox1.Items.Remove(listBox1.SelectedItems[i-1]);
                OptLog("从ListBox中删除内容:" + selectedString,
                       DateTime.Now.ToString());
            }
        }



上面是一部分源代码

问题1和问题2已经在代码注释部分说了。
问题3是,如何通过for循环,选择被点击的项,而且for循环里貌似没有判断的语句来表明是否是被点击的项!

------解决方案--------------------
listbox可以多选,那个count就是选中的数量
SelectedItems[i-1]代表选中集合中对应索引的那个项
第三个问题,不知所云
------解决方案--------------------
问题1:这个count是选择的项目的数量
2 选择的项目编号
3 SelectedItems这个就是选中项目的集合,不需要另外判断。
------解决方案--------------------
第三个问题,循环时判断selected属性
------解决方案--------------------
COUNT是选了多少项
i-1是因为索引从0开始,count算的是从1开始的,好比数组长度length
SelectedItems这个是关键,这不就是选中的项么