C#中我自己定义了这个类,数组化,为什么Image一直显示同一张图片?求高手

类classcomm{publicImageimg;publicStringname;publicStringid;}执行程序commlty=newcomm();List... 类class comm
{
public Image img;
public String name;
public String id;
}
执行程序
comm lty = new comm();
List<comm> lottery = new List<comm>();

DirectoryInfo dirimg = new DirectoryInfo(System.Windows.Forms.Application.StartupPath+"/hyimage/");
fimg = dirimg.GetFiles("*.*",SearchOption.AllDirectories);
foreach(FileInfo ff in fimg) {
lty.img = Image.FromFile(System.Windows.Forms.Application.StartupPath + "/hyimage/" + ff.ToString());
lty.name = "海菲庄";
lty.id = "6666";
lottery.Add(lty);
}

事件处理
int i = rf.Next(0,6);
pictureBox1.Image = lottery[i].img;
abel1.Text = i.ToString()+lottery[i].name + lottery[i].id;
文件夹下面有6张图片,但是不知道为什么,每次显示都是同一张图片
展开
 我来答
syht2000
高粉答主

2013-05-31 · 关注我不会让你失望
知道大有可为答主
回答量:3万
采纳率:79%
帮助的人:1.4亿
展开全部
lty.img = Image.FromFile(System.Windows.Forms.Application.StartupPath + "/hyimage/搭数丛毕租" + ff.ToString());

这一行前面少写了一行知樱
lty = new comm();
追问
lty = new comm();
明白了

我是新手,顺便问一句:
private FileInfo[] fimg;
打开文件后一直占用资源,怎么关闭?
追答
前面那个comm lty = new comm();
是多余的,写成comm lty = null;
就可以了。
我不太清楚你指的占用是什么,fimg在你的程序中也没怎么用到,可以去掉的,改成
foreach(FileInfo ff in dirimg.GetFiles("*.*",SearchOption.AllDirectories)) {
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式