vs2005 中ImageList中InvalidArgument=“1”的值对于“index”无效
private void Form1_Load(object sender, EventArgs e)
         {
             string path = Application.StartupPath.Substring(0,Application.StartupPath.Substring(0,Application.StartupPath.LastIndexOf("\\")).LastIndexOf("\\"));
             path += @"\01.jpg";
             string path2 = Application.StartupPath.Substring(0, Application.StartupPath.Substring(0, Application.StartupPath.LastIndexOf("\\")).LastIndexOf("\\"));
             path2 += @"\02.jpg";
             Image ming = Image.FromFile(path,true);
             imageList1.Images.Add(ming);
             Image ming2 = Image.FromFile(path2, true);
             imageList1.Images.Add(ming2);
             imageList1.ImageSize = new Size(200,165);
             pictureBox1.Width = 200;
             pictureBox1.Height = 165;              
         }
         private void button1_Click(object sender, EventArgs e)
         {
             int a = 0;
             if (a == (imageList1.Images.Count - 1))
             {
                 a = 0;
             }
             else if(a<imageList1.Images.Count)
             {
                 a = a + 1;
             }
             this.pictureBox1.Image=this.imageList1.Images[a];
         }
         private void button2_Click(object sender, EventArgs e)
         {
             pictureBox1.Image = imageList1.Images[1];
         }
     }
这是代码那里出错了啊,请大家帮忙
------解决方案-------------------- ImageList没有2张图,所以不能用1,如果有1张图,用imageList1.Images[0];
------解决方案-------------------- 探讨  引用: 看这代码是看不出问题,你在 private void Form1_Load(object sender, EventArgs e) 的最后,private void button1_Click(object sender, EventArgs e) 最前,private void button2_Click(object sender, EventArgs e) 最前,…… 
------解决方案-------------------- 探讨  Application.StartupPath.Substring(0,Application.StartupPath.Substring(0,Application.StartupPath.LastIndexOf("\\")).LastIndexOf("\\")); 这句话是干嘛啊,好像是不是使用错误了 
------解决方案-------------------- C# code
我曾经也使用过ImageList,用下标取的时候,也是取不出来,也不知道什么原因;不过有解决办法:
Image ming2 = Image.FromFile(path2, true);
  imageList1.Images.Add(ming2);
你添加的时候这样子添加:
 imageList1.Images.Add("ming2",ming2);
给它添加一个key进去
取的时候通过key来取
例如
imageList1["ming2"]这样子就可以取出来了。
很奇怪,我怀疑是.net的bug