c# winform 循环往imageList传相对路径Image文件夹里的图并且在listView1里显示,帮帮忙大神
privatevoidbutton2_Click(objectsender,EventArgse){string[]ImagePath=newstring[100];th...
private void button2_Click(object sender, EventArgs e)
{
string[] ImagePath = new string[100];
this.listView1.Items.Clear();
this.imageList1.Images.Clear();
for (int i = 0; i < ImagePath.Length; i++)
{
this.imageList1.Images.Add(System.Windows.Forms.Application.StartupPath + "\\Image\\" + (ImagePath[i]));
listView1.Items.Add(ImagePath[i]);
listView1.Items[i].ImageIndex = i;
}
}
改成图里代码还报错,大神们帮帮忙 展开
{
string[] ImagePath = new string[100];
this.listView1.Items.Clear();
this.imageList1.Images.Clear();
for (int i = 0; i < ImagePath.Length; i++)
{
this.imageList1.Images.Add(System.Windows.Forms.Application.StartupPath + "\\Image\\" + (ImagePath[i]));
listView1.Items.Add(ImagePath[i]);
listView1.Items[i].ImageIndex = i;
}
}
改成图里代码还报错,大神们帮帮忙 展开
1个回答
推荐于2017-09-08
展开全部
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]);
。。。。。。
上面这句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]);
。。。。。。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询