我有一个数据集,其中包含一些产品及其图像文件名(例如" test.png")。 图像作为资源加载。如何正确设置图像位置?
DataRowView uRow = (DataRowView)comboBox1.SelectedItem;
DataRow row = uRow.Row;
pictureBox1.ImageLocation = Properties.Resources + row["logo"].ToString();
答案 0 :(得分:1)
您可以按名称获取字符串资源:
string imageName = row["logo"].ToString();
// Strip off the extension, since it is not contained in the resource name.
imageName = Path.GetFileNameWithoutExtension(imageName);
pictureBox1.ImageLocation =
Properties.Resources.ResourceManager.GetString(imageName);
如果您已将图像本身存储为资源,则可以按名称获取它们:
pictureBox1.Image =
(Image)Properties.Resources.ResourceManager.GetObject(imageName);
答案 1 :(得分:0)
ImageLocation
属性不支持直接使用资源。来自MSDN Docs:
获取或设置要在其中显示的图像的路径或URL 图片框。
要加载作为资源的图片,请参阅Change PictureBox's image to image from my resources?
答案 2 :(得分:0)
如果将Resources.resx文件的属性Access modifier
设置为Friend
或Public
然后可以访问图像或其他资源而无需硬编码名称
Visual Studio将为每个资源生成一个类和属性
pictureBox1.Image = Properties.Resources.YourImage;