在资源路径中使用String

时间:2015-10-18 13:36:13

标签: c# resources

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。

1 个答案:

答案 0 :(得分:3)

您需要做的是:使用ResourceManager.GetObject(filename)它返回给定键的对象。

您必须明确地投射它:(Image)ResourceManager.GetObject(key)并且您应该在try catch语句中使用它,以便在出现错误时您的程序不会崩溃。

以下是我的来源:https://msdn.microsoft.com/en-us/library/963f81yd.aspx