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没有用上我还没有写后面的代码,调试运行就出错了.望高手指出哪方便的错误.解决了我会加分的! 展开
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没有用上我还没有写后面的代码,调试运行就出错了.望高手指出哪方便的错误.解决了我会加分的! 展开
展开全部
超出索引范围了.
当你点按钮1的时候执行下来 a的值是1
但你imageList1是空的.所以就出错.
修正办法.给imageList里面添内容就行了.
要从imageList里读图片先判断索引数是否比imageList的数量减一还大或比零小,以保证程序的安全性.
另外,希望LZ以后改掉变量名起a b c aaa bbb这种名字的坏习惯.尽量起有意义的名字.
当你点按钮1的时候执行下来 a的值是1
但你imageList1是空的.所以就出错.
修正办法.给imageList里面添内容就行了.
要从imageList里读图片先判断索引数是否比imageList的数量减一还大或比零小,以保证程序的安全性.
另外,希望LZ以后改掉变量名起a b c aaa bbb这种名字的坏习惯.尽量起有意义的名字.
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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)
{
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)
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询