C# 使用变量更改pictureBox中的图片

C# 使用变量更改pictureBox中的图片,c#,.net,C#,.net,这是我的代码加载一个图片框的图像和它的工作良好 picBox1.Image = Properties.Resources.imageName; 我想用字符串x=“imageName”这样的变量替换“imageName”,并将代码更改为如下内容 picBox1.Image = Properties.Resources.x; 它似乎不起作用。是否有其他方法可以做到这一点,为什么这不起作用?非常感谢。还有,noob警报。在这些论坛上提问之前,我用谷歌搜索了这个问题并四处寻找解决方案。这应该可以解决

这是我的代码加载一个图片框的图像和它的工作良好

picBox1.Image = Properties.Resources.imageName;
我想用字符串x=“imageName”这样的变量替换“imageName”,并将代码更改为如下内容

picBox1.Image = Properties.Resources.x;

它似乎不起作用。是否有其他方法可以做到这一点,为什么这不起作用?非常感谢。还有,noob警报。在这些论坛上提问之前,我用谷歌搜索了这个问题并四处寻找解决方案。

这应该可以解决你的问题

// given that x is a string variable referring to a resource name
// you can do the following
picBox1.Image = (Image)Properties.Resources.ResourceManager.GetObject(x);
using System.Drawing;
using System.Resources;

...

ResourceManager resManager = new ResourceManager("YourRootNamespace.YourResourceFileName", GetType().Assembly);
Image myImage = (Image)(resManager.GetObject("ImageNameInResourceFile"));
picBox1.Image = myImage;

你不能这样捆绑它。你想实现什么?你的项目是什么类型的?WPF、WinForms、UWP?Windows窗体项目。我希望能够在运行时更改图片框中的图片。我不想让这个问题变得复杂,但我想有一个控制picturebox的object属性。因此,如果要更改对象,它也会更改图片框中的图片。我希望这是有意义的;picBox1.Image=Properties.Resources.ResourceManager.GetString(x);无法将类型字符串隐式转换为“System.Drawing.Image”,这是我在该代码中遇到的错误。所以我需要以某种方式转换数据类型?