C# 在foreach循环中使用字符串变量检索图像资源
我有一个字符串数组“abc” 我把它放在一个for-each循环中。我想使用foreach循环中的值从资源中检索图像,并将其放入图片框中 代码如下:C# 在foreach循环中使用字符串变量检索图像资源,c#,resources,foreach,C#,Resources,Foreach,我有一个字符串数组“abc” 我把它放在一个for-each循环中。我想使用foreach循环中的值从资源中检索图像,并将其放入图片框中 代码如下: char[] stringArr = inputted.ToCharArray(); foreach (char i in stringArr) { PictureBox pictureBox = new PictureBox(); object obj = Reso
char[] stringArr = inputted.ToCharArray();
foreach (char i in stringArr)
{
PictureBox pictureBox = new PictureBox();
object obj = ResourceManager.GetObject(i.ToString());
pictureBox.Image = ((System.Drawing.Bitmap)(obj));
Controls.Add(pictureBox);
}
我要怎么做才能让它工作?
我试图实现的是,有图片,字母表中的每个字符代表不同的图片,用户输入一个字符串并单击一个按钮,用户输入被拍摄,形成字符串,我希望它根据他输入的字符串输出相关图像。您可以执行以下操作:
object obj = ResourceManager.GetObject("MyResourceName", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
var ResourceManager =
new System.Resources.ResourceManager(
"YourAssembly.Properties.Resources",
typeof(Resources).Assembly);
按名称获取资源
ResourceManager
类似于:
object obj = ResourceManager.GetObject("MyResourceName", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
var ResourceManager =
new System.Resources.ResourceManager(
"YourAssembly.Properties.Resources",
typeof(Resources).Assembly);
因此,在您的示例中,您可以编写:
foreach (char i in stringArr)
{
PictureBox pictureBox = new PictureBox();
object obj = ResourceManager.GetObject(i.ToString(), resourceCulture);
pictureBox.Image = ((System.Drawing.Bitmap)(obj));
}
(如果图像没有特殊的区域性,也可以省略resourceCulture
参数)
我确实假设您的代码只是一个较大示例的摘录,因为在外观中创建
PictureBox而不将其分配给表单对我来说毫无意义。这里有一个简单的方法可以使用
添加到代码中,并用应用程序的名称替换XXXAPPNAMEXXX
public Bitmap GetImageResourceByName(string name)
{
Bitmap MethodResult = null;
try
{
MethodResult = (Bitmap)XXXAPPNAMEXXX.Properties.Resources.ResourceManager.GetObject(name, XXXAPPNAMEXXX.Properties.Resources.resourceCulture);
}
catch //(Exception ex)
{
//ex.HandleException();
}
return MethodResult;
}
注意:进入Resources.Designer.cs并将私有属性resourceCulture设置为公共
我已经注释掉了我的错误处理(例如HandleException),因为您的错误处理可能有所不同。那么,在您回答的最后一点中,您是否打算编写I.ToString(),否则您将在哪里使用i@RyanMurphy当然我改变了它。~我想实现的是,有图片,字母表中的每个字符代表不同的图片,用户输入一个字符串并单击一个按钮,用户输入的内容被拍摄,形成字符串,我希望它根据他输入的字符串输出相关图像。什么是resourceCulture?