我正在制作的程序非常难以解释,因为它仅供个人使用,因此我将使用一个示例来简化它。
假设我在名为“Person”的项目中有一个类,它存储图片和人名。 所有图片都存储在项目资源中。
如何保存资源路径/名称以在主程序(而不是“Person”类)上重复使用?
例如,在主程序中我创建了一个新人:
Person p = new Person("Michael", Project.Properties.Resources.Picture);
作为什么变量,我在Person类中保存路径?
public Person(string name, ??? picture)
请注意,稍后我需要重复使用此图片
例如:
this.pictureBox.Image = p.picture;
我尝试使用Image和Bitmap对象,但它只是将图片框更改为空白(我认为它将pictureBox.Image设置为null。另外,我很确定使用Bitmap会复制Image并使用更多记忆无缘无故)
我也尝试过使用Image.FromFile并将路径作为字符串插入,但它也没有用。
答案 0 :(得分:3)
如果你想使用资源,你不应该乱用路径。它们嵌入到组件中,可以从那里重复使用。
访问它们的最简单方法是使用生成的资源类Project.Properties.Resources.Picture
。变量的类型为Image
。
public Person(string name, Image picture)
如果你愿意,你甚至可以access the resource by extracting it by hand from the assembly,但据我所知,这种情况似乎很多。