c#窗体编程在使用CheckedListBox实现多选查找赋值时报索引超出数组范围,请大家帮帮忙啊!!!
答案:5 悬赏:30 手机版
解决时间 2021-03-29 06:44
- 提问者网友:听门外雪花风
- 2021-03-28 13:41
c#窗体编程在使用CheckedListBox实现多选查找赋值时报索引超出数组范围,请大家帮帮忙啊!!!
最佳答案
- 五星知识达人网友:患得患失的劫
- 2021-03-28 15:00
for (int i = 0; i < checkedListBox1.Items.Count; i++)
{
if (checkedListBox1.GetItemChecked(i))
{
chazhao += checkedListBox1.GetItemText(checkedListBox1.Items[i]) + ",";///获取checkedlistbox选中项的值的方法
}
}
{
if (checkedListBox1.GetItemChecked(i))
{
chazhao += checkedListBox1.GetItemText(checkedListBox1.Items[i]) + ",";///获取checkedlistbox选中项的值的方法
}
}
全部回答
- 1楼网友:孤独入客枕
- 2021-03-28 19:58
checkedListBox1.Items.Count的意思是一共多少给元素,比如一共5给元素,for循环的时候应该循环的索引为0,1,2,3,4;所以说你for循环里的 i < checkedListBox1.Items.Count应该-1;写成: i < checkedListBox1.Items.Count-1就可以了
原因在于个数从1开始数,索引从0开始走,所以始终少1个,循环的时候“i”要小于索引,而不是个数!
原因在于个数从1开始数,索引从0开始走,所以始终少1个,循环的时候“i”要小于索引,而不是个数!
- 2楼网友:鸠书
- 2021-03-28 19:23
if (checkedListBox1.Items(i).Checked)
{ chazhao += checkedListBox1. Items[I].Value+",";
}
{ chazhao += checkedListBox1. Items[I].Value+",";
}
- 3楼网友:风格不统一
- 2021-03-28 17:54
Items有Count个,但是没人说CheckedItems有Count个……
if (checkedListBox1.Items[i].Checked)
{
chazhao += checkedListBox1.Items[i].ToString().Trim() + ",";
}
猜测而已。
if (checkedListBox1.Items[i].Checked)
{
chazhao += checkedListBox1.Items[i].ToString().Trim() + ",";
}
猜测而已。
- 4楼网友:鱼忧
- 2021-03-28 16:21
如果有GetItemChecked.count的话,就写成这样
if(i<=GetItemChecked.count-1)
{
if (checkedListBox1.GetItemChecked(i))
{
chazhao += checkedListBox1.CheckedItems[i].ToString().Trim() + ",";
}
}
if(i<=GetItemChecked.count-1)
{
if (checkedListBox1.GetItemChecked(i))
{
chazhao += checkedListBox1.CheckedItems[i].ToString().Trim() + ",";
}
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯