C# InvalidArgument=“1”的值对于“index”无效

usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Da... using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace 研究开发
{
public partial class Form1 : Form
{
int a = 0, b = 0;
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
if (a == (this.imageList1.Images.Count - 1))
{
a = 0;
}
else
{
a = a + 1;
}
this.pictureBox1.Image =this.imageList1.Images [a];
}

private void button2_Click(object sender, EventArgs e)
{
if (a == 0)
{
a = this.imageList1.Images.Count - 1;
}
else
{
a = a - 1;
}
this.pictureBox1.Image =this.imageList1.Images[a];

}
}
}
运行时出现如标题那样的错误提示,还有代码中变量b没有用上我还没有写后面的代码,调试运行就出错了.望高手指出哪方便的错误.解决了我会加分的!
展开
 我来答
bsdekj
2010-01-14 · TA获得超过233个赞
知道小有建树答主
回答量:173
采纳率:0%
帮助的人:97.7万
展开全部
超出索引范围了.
当你点按钮1的时候执行下来 a的值是1
但你imageList1是空的.所以就出错.

修正办法.给imageList里面添内容就行了.

要从imageList里读图片先判断索引数是否比imageList的数量减一还大或比零小,以保证程序的安全性.

另外,希望LZ以后改掉变量名起a b c aaa bbb这种名字的坏习惯.尽量起有意义的名字.
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
网易云信
2023-12-06 广告
UIkit是一套轻量级、模块化且易于使用的开源UI组件库,由YOOtheme团队开发。它提供了丰富的界面元素,包括按钮、表单、表格、对话框、滑块、下拉菜单、选项卡等等,适用于各种类型的网站和应用程序。UIkit还支持响应式设计,可以根据不同... 点击进入详情页
本回答由网易云信提供
灵性真知圈
2010-01-14 · TA获得超过143个赞
知道小有建树答主
回答量:346
采纳率:0%
帮助的人:166万
展开全部
private void button1_Click(object sender, EventArgs e)
{
if (a == (this.imageList1.Images.Count - 1))
{
a = 0;
}
else
{
a = a + 1;
}
this.pictureBox1.Image =this.imageList1.Images [a];
}
这里如果我只有一张图片a=1,则引发超索引异常

改为
else if(a<imageList1.Count)
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式