PictureBox CharacterIcon = new PictureBox();
CharacterIcon.Image = Properties.Resources.Moeyy;
我想让代码动态化并执行以下操作:
string fileName = "Moeyy";
PictureBox CharacterIcon = new PictureBox();
CharacterIcon.Image = Properties.Resources.fileName;
但我不能那样做,有办法解决吗?我需要使用资源中的图像,因为我不能保证(如果我从目录加载它们),用户将把它们放在同一个目录中! 我将Images导入到我的Resources.resx中,因此Properties.Resources.Moeyy是项目中的Image。
答案 0 :(得分:3)
您需要做的是:使用ResourceManager.GetObject(filename)
它返回给定键的对象。
您必须明确地投射它:(Image)ResourceManager.GetObject(key)
并且您应该在try
catch
语句中使用它,以便在出现错误时您的程序不会崩溃。
以下是我的来源:https://msdn.microsoft.com/en-us/library/963f81yd.aspx