string[] ImagePath = new string[100];
上面这句new了一个字符串数组,但里面每个元素初始都是null,然后你后面循环里又用它来拼图片的完整路径,自然不正确。
正确的逻辑是string[] imageNames=Directory.GetFiles(System.Windows.Forms.Application.StartupPath + "\\Image\\");
获取应用程序启动文件夹下面Image文件夹下面所有的文件名(含路径),然后for循环里直接
this.imageList1.Images.Add(imageNames[i]);
listView1.Items.Add(imageNames[i]);
。。。。。。